2015-02-02 3 views
0

Я вызываю API для получения списка устройств. В моей модели у меня есть атрибут для списка устройств:C# динамическая сериализация JSON

public List<Device> device { get; set; } 

Но, если API возвращает 1 устройство, оно возвращается как просто устройство, а не список устройств с 1 устройством.

Есть ли хороший способ динамического десериализации? Я не хочу иметь две разные модели и анализировать JSON программно, просто чтобы узнать, какой объект для десериализации.

JsonConvert.DeserializeObject<ListDevicesByLabelModel>(responseText); 
+0

Вы можете предоставить больше своего кода. это может быть что-то еще, что происходит. – Qpirate

+0

Где оскорбительный Json? Если API возвращает один объект вместо массива с одним объектом ... –

+0

Он расположен, список устройств является атрибутом атрибута и т. Д. –

ответ

2

Динамическое ключевое слово по-прежнему отлично подходит для десериализации JSON, я бы рекомендовал вам взглянуть на этот вопрос.

Deserialize JSON into C# dynamic object?

dynamic data = Json.Decode(responseText); 

И тогда у вас есть динамический объект для работы с вместо того, 2 модели.

В противном случае вы также можете иметь только один элемент в Списке.

Смежные вопросы