无法在Windows Phone中解析JSON

时间:2014-02-10 00:54:21

标签: c# .net json windows-phone-8

我正在尝试解析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;
   }
}

以下是JSON的来源:http://apibiru.herokuapp.com/v0.1/feeds/1?auth_token=64d362d2e483e8023c46595f83ca8d9555ff6d7cc700a2474fbdbd341c43c1fb

如果你能帮助我,感谢你的帮助,谢谢:)。

2 个答案:

答案 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,您可以尝试第一个选项