检查此网址:
http://api.stackoverflow.com/1.1/users/811785/questions?sort=votes
这是StackOveflow API的URL。返回的JSON非常复杂,我想将它转换为一个对象,以便我可以在我的ASP.NET MVC视图中使用它。
问题是,JavaScriptSerializer
对象的Deserialize
方法,将Type
参数作为其第二个参数。但是返回的JSON是如此复杂,我不想创建一个强类型对象来反序列化它。
我该怎么办?
答案 0 :(得分:2)
在.NET 4.0中,您可以使用动态
更多信息
还有更多
答案 1 :(得分:2)
使用Json.NET你可以做类似的事情
JObject o = JObject.Parse(json);
string name = (string)o["Name"];
答案 2 :(得分:1)
您不需要像JSON.NET这样的额外库,只需使用JavaScriptSerializer。
您可以考虑JavaScriptSerializer.DeserializeObject
,它会返回Object
,基本上是Dictionary<string, object>
。
您必须继续投射才能获得嵌套值。
在快速观看中查看反序列化对象,然后您就会知道投出所返回的Dictionary<>
答案 3 :(得分:0)
尝试使用System.Web.Script.JavascriptSerializer
多个Deserialize
重载方法的{{1}},玩它,你一定会得到你想要的。