我有 JSON 文件,如:
[
12,
[
{
"id": "131",
"name": "Cate"
},
{
"id": "132",
"name": "Mike"
}
],
"Result OK"
]
和代码:
private static void Main(string[] args)
{
using (var r = new StreamReader(@"C:\Path\data1.json"))
{
var json = r.ReadToEnd();
try
{
var items = JsonConvert.DeserializeObject<JsonBody>(json);
Console.WriteLine(items);
}
catch (JsonSerializationException ex)
{
Console.WriteLine(ex);
}
}
}
public class JsonBody
{
public int someint;
public List<Dictionary<string, Item>> item;
public string somestring;
}
public class Item
{
[JsonProperty("id")] public string id;
[JsonProperty("name")] public string name;
}
错误:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型“Json_parser.Parse2+JsonBody”,因为该类型需要 JSON 对象(例如 {"name":"value"})才能正确反序列化。
应该在代码中重写什么以避免此错误。如何正确解析这个 JSON?我需要从 Item 类中获取所有项目。