我有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类中获取所有项目。
普通JSON格式为{“ item1”:“ value1”,
}