我不是C#人,但我正在编写一个Web服务,我在其中生成JSON数据,并且我正在尝试帮助编写C#客户端的人解析JSON。
在这种情况下:我返回一些属性是对象而其他属于数组的对象。客户端是通用的,在解析哪些属性和对象以及哪些是数组之前不知道。
有没有办法在不事先知道的情况下解析任意JSON(无论是数组还是对象)?例如,这些不能工作
JArray.Parse(...)
JObject.Parse(...)
因为他们需要提前知道这种类型。
理想情况下有
之类的东西Json.Parse(...)
根据JSON吐出数组或对象。
答案 0 :(得分:5)
使用Json.Net:
dynamic jObj = JsonConvert.DeserializeObject(json);
或
var jObj = JsonConvert.DeserializeObject(json) as JToken;
或
var jObj = JToken.Parse(json);