在C#中反序列化JSON:object vs array

时间:2014-06-24 21:01:05

标签: c# .net json

我不是C#人,但我正在编写一个Web服务,我在其中生成JSON数据,并且我正在尝试帮助编写C#客户端的人解析JSON。

在这种情况下:我返回一些属性是对象而其他属于数组的对象。客户端是通用的,在解析哪些属性和对象以及哪些是数组之前不知道。

有没有办法在不事先知道的情况下解析任意JSON(无论是数组还是对象)?例如,这些不能工作

JArray.Parse(...)
JObject.Parse(...)

因为他们需要提前知道这种类型。

理想情况下有

之类的东西
Json.Parse(...)

根据JSON吐出数组或对象。

1 个答案:

答案 0 :(得分:5)

使用Json.Net

 dynamic jObj = JsonConvert.DeserializeObject(json);

 var jObj = JsonConvert.DeserializeObject(json) as JToken;

var jObj = JToken.Parse(json);