В ответ на запрос к API я получаю json
следующей структуры:
[
{ "address": "someaddress",
"code": "ABC12345",
"type": "sometype",
"category": "somecategory"
// + еще около 40 свойств
},
...// такие же объекты
]
Из всего этого мне нужны только два поля "code"
и "type"
, точнее массив объектов SomeType
:
SomeType
{
public string code { get; set; }
public string type { get; set; }
}
Класса, по типу которого сериализуется такой объект у меня нет.
В связи с этим два вопроса:
1) Есть ли смысл создавать такой класс, описывать 40+ полей, если нигде кроме десериализации он использоваться не будет?
2) Есть ли возможность "частичной" десериализации объекта?
Альтернативой к dynamic
может быть использование JObject
(тоже из JSON.NET):
var arr = JArray.Parse(json);
var result =
arr.Select(item =>
new SomeType() { code = (string)item["code"], type = (string)item["type"] })
.ToList();
Результат:
foreach (var st in result)
Console.WriteLine($"(code = {st.code}, type = {st.type})");
выдаёт
(code = ABC12345, type = sometype)
(code = XYZ98765, type = someothertype)
Из примера разбора JSON:
dynamic stuff = JsonConvert.DeserializeObject("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");
string name = stuff.Name;
string address = stuff.Address.City;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть две Panel, в каждой из них по пять TextBox
Например, есть изображение, на этом изображении текст, а так же может быть иллюстрация
Можно ли организовать работу сайта с ботом telegram в таком ключе, я отправляю боту команду, а он POST или GET запросом отправляет ее на сайт и на сайте...