我正在尝试使用 Json.Net 解析一些 JSON 数据。这是我的数据:
[
{
"UIDClan": "1",
"UIDKnjiga": "1",
"Naslov": "Title1",
"DatumZaKada": "2013-08-09 00:00:00",
"DatumIstekRez": null,
"Spremno": "0"
},
{
"UIDClan": "1",
"UIDKnjiga": "2",
"Naslov": "Title2",
"DatumZaKada": "2013-08-08 00:00:00",
"DatumIstekRez": null,
"Spremno": "0"
},
{
"UIDClan": "1",
"UIDKnjiga": "3",
"Naslov": "Title3",
"DatumZaKada": "2013-08-09 00:00:00",
"DatumIstekRez": "2013-10-09 00:00:00",
"Spremno": "1"
}
]
通过这段代码,我想提取 UIDClan 数据:
JObject o = JObject.Parse(s);
Console.WriteLine(o["UIDClan"]);
错误是
Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1.
我已经检查过 JSONLint 并且它是有效的。
我发现的示例不以 [ 开头。
我做错了什么吗?
最佳答案
您可以尝试使用JArray
。
这个JSON数据实际上是一个数组。
JArray v = JArray.Parse(s);
获取第一个项目。
var firstItem = v[0]["UIDClan"].ToString();
你甚至可以使用 linq
var items = v.Where(x => x["UIDClan"].ToString() == "1").ToList();
关于JSON.Net读取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688261/