Есть ответ от сервера вида {"name":"Jonh","lastName":"Smith"},{"name":"Rick","lastName":"Grimes"}. И т.д. всего около 30 объектов. Сейчас реализация далека от идеала,и на один объект идёт один запрос:
var rick = new WebClient().DownloadString("http://127.0.0.1/api/v3/dict/lastname?name=Rick");
Затем десериализую,и отправляю в класс
public class Rick
{
public string name { get; set; }
public string lastName { get; set; }
}
И затем спокойно использую в коде дальше. Как можно упростить это? Текущая реализация довольно медленная.
Сервер отдаёт все объекты по запросу http://127.0.0.1/api/v3/dict/lastname
Вероятно, у вас приходит не {"name":"Jonh","lastName":"Smith"},{"name":"Rick","lastName":"Grimes"}, а [ {"name":"Jonh","lastName":"Smith"},{"name":"Rick","lastName":"Grimes"}] - иначе это невалидный json.
Ну, а что тогда сложного? Десериализация в одну строчку при помощи Json.Net:
var data = "[{\"name\":\"Jonh\",\"lastName\":\"Smith\"},{\"name\":\"Rick\",\"lastName\":\"Grimes\"}]";
var deserialized = JsonConvert.DeserializeObject<Rick[]>(data);
Ваш результат:
Как потом обращаться допустим при name=Rick получить его lastName
var obj = deserialized.FirstOrDefault(x => string.Equals(x.name, "Rick"));
obj.Dump();
obj.lastName.Dump();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости