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