我正在尝试解析Json。我已成功将Json传递给字符串,但我无法将其转换为JObject。这是我的尝试代码:
private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
string jsonStr = e.Result;
if (!string.IsNullOrEmpty(jsonStr))
{
JObject objects = JObject.Parse(jsonStr); // this is when the error came at the first time. It says: An exception of type 'Newtonsoft.Json.JsonReaderException' occured in Newtonsoft.Json.DLL but was not handled in user code.
JArray a = (JArray)objects[""];
IList<Feeds.Topic> listFeeds = a.ToObject<IList<Feeds.Topic>>();
this.DataContext = listFeeds;
}
}
如果你能帮助我,感谢你的帮助,谢谢:)。
答案 0 :(得分:4)
请改为尝试:
JArray a = JArray.Parse(jsonStr);
首先不要尝试解析为JObject,因为数据是以[并以]结尾的数组为数组。
答案 1 :(得分:1)
你可以使用
JArray a = JArray.Parse(jsonStr);
我尝试使用从http://json2csharp.com/获得的类来解析你的json。我认为你必须直接解析它
List<RootObject> yourObject= JsonConvert.DeserializeObject<List<RootObject>>(jsonStr);
由于您需要Json Object,您可以尝试第一个选项