我有一个Web服务,在调用它并获取结果后,我无法将结果放在一个对象数组中。
我正在使用C#代码并寻找一种方法来反序列化这些结果,并希望有人可以帮助或告诉我应该采用的方式。
注意:单引号标记被\u2019
替换,那么是否有一个表格可以在返回的结果中找到特殊字符unicodes,以便我可以替换它们?
谢谢..
答案 0 :(得分:1)
我使用JavaScriptSerializer来处理JSON数据。 (通常,我添加了这个custom converter我从TekPub中学到了将DateTimes格式化为一个很好的字符串。)
它非常易于使用:
using (var web = new WebClient())
{
var url = "http://[fill in your url here]";
var jsonStr = web.DownloadString(url);
var serializer = new JavaScriptSerializer();
IDictionary<string, object> objGraph = (IDictionary<string, object>)serializer.DeserializeObject(jsonStr);
Console.WriteLine(objGraph["has_next"]);
Console.WriteLine(((Object[])objGraph["object_list"]).Length);
}
在示例代码中,我将结果作为动态对象使用,但如果您知道结构,则可以将结果映射回类型化对象。