2016-08-11 3 views
0

Я пытаюсь десериализации JSON мой массив, используя Newtonsoft Json.NET самородок:Deserialize JSON массив с JSON.NET JArray

Вот код:

Единственная проблема в том, что DeserializeObject принимает строку , а не объект JArray. Я могу сделать array.toString(), но я не уверен, что это правильный способ сделать это.

ответ

1

Это потому, что JArray не нуждается в десериализации. Это не строковое/двоичное представление объекта (это то, что вы десериализовали). Это уже объект, который представляет ваш JSON. Вы можете использовать его как объект - итератировать его, извлекать из него отдельные элементы.

Проверьте документы на http://www.newtonsoft.com/json/help/html/t_newtonsoft_json_linq_jarray.htm - есть методы, которые, я уверен, могут быть использованы для достижения желаемого преобразования.

+0

О, я вас. Мысль Было бы проще просто преобразовать JArray в List, чем обычный JSON String tbh. – user3734423

+0

Если вы в первую очередь получаете строку JSON, возможно, проще просто десериализовать ее до вашего конечного типа с помощью DeserializeObject(), чем добавить дополнительный шаг преобразования в JArray, а затем в тип. – ADyson

+0

Yup, вот что я в итоге делаю. Ничего необычного кода :( – user3734423

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