Разбор массива в строке JSON с использованием MiniJSON - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть эта строка JSON:

{"person":[{"age":"0","name":"John"}]}

"персона" - это список, который может содержать больше людей, чем просто Джон.

Используя MiniJSON, как я могу прочитать всех людей в"person"?

Что я пытаюсь:

Dictionary<string, object> dict = MiniJSON.Json.Deserialize(jsonString) as Dictionary<string, object>;
List<object> list = (List<object>)(dict["person"]);
Dictionary<string, string> character = list[0] as Dictionary<string, string>;
print(character["name"]);

Но там написано, что символ ["name"] является пустой ссылкой.

1 Ответ

0 голосов
/ 14 февраля 2019

Десериализация этого JSON возвращает что-то вроде этой структуры (сгенерированной с помощью quicktype ):

public class Person
{
    public List<PersonElement> PersonList { get; set; }
}

public class PersonElement
{
    public long Age { get; set; }
    public string Name { get; set; }
}

Я не думаю, что вы можете просто преобразовать это в Dictionary<string,object>, следовательно,нулевой указатель.Попробуйте добавить точку останова и посмотрите на результат десериализации, чтобы увидеть, можете ли вы просто привести его или вам нужно перебрать результат, чтобы передать его в словарь (если вы хотите использовать dict).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...