用C#反序列化JSON

用C#反序列化JSON

我试图将Facebook好友图API调用反序列化为对象列表。JSON对象如下所示:

{"data":[{"id":"518523721","name":"ftyft"},
         {"id":"527032438","name":"ftyftyf"},
         {"id":"527572047","name":"ftgft"},
         {"id":"531141884","name":"ftftft"},
         {"id":"532652067","name"... List<EFacebook> facebooks = new JavaScriptSerializer().Deserialize<List<EFacebook>>(result);

因为原始对象无效,所以它无法工作。
我如何将其反序列化?


杨__羊羊
浏览 1052回答 6
6回答

宝慕林4294392

Newtonsoft.JSON是解决这种情况的好办法。也Newtonsof.JSON比其他如JavaScriptSerializer,&nbsp;DataContractJsonSerializer.在此示例中,您可以如下所示:var&nbsp;jsonData&nbsp;=&nbsp;JObject.Parse("your&nbsp;json&nbsp;data&nbsp;here");然后,您可以将jsondata转换为JArray您可以使用for循环在每次迭代中获取数据。另外,我想补充一些东西。for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;(JArray)jsonData["data"].Count;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;data&nbsp;=&nbsp;jsonData[i&nbsp;-&nbsp;1];}使用动态对象和使用Newtonsoft序列化是一个不错的选择。
打开App,查看更多内容
随时随地看视频慕课网APP