JSON.Net错误阅读
我试图用Json.Netparsing一些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"]);
错误是
从JsonReader读取JObject时出错。 当前的JsonReader项目不是一个对象:StartArray。 path“,第1行,位置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();
为了克服这个错误plz序列化jsonstring在下面的格式。这个序列化string我们可以parsing为Jobject
Newtonsoft.Json.JsonConvert.SerializeObject(new {JsonString})