使用MiniJSON解析JSON字符串中的数组

时间:2019-02-14 16:32:46

标签: c# json unity3d

我有这个JSON字符串:

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

“人”是一个列表,可以包含比约翰更多的人。

使用MiniJSON,我如何读取“人”中的所有人?

我正在尝试:

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"]);

但是它说character [“ name”]是一个空引用。

1 个答案:

答案 0 :(得分:1)

反序列化此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>,因此不能使用null指针。尝试添加一个断点并查看反序列化的结果,以查看是否可以将其强制转换,或者是否需要遍历该结果以将其馈送到字典中(如果要使用字典)。