2014-06-24 72 views
1

我不是C#的人,但我正在編寫一個Web服務,在其中生成JSON數據,並試圖幫助編寫C#客戶端的人解析JSON。反序列化C#中的JSON:對象vs數組

下面是情況:我返回的對象,其中一些屬性是對象,其他是數組。客戶端是通用的,並且在解析哪些屬性和對象以及哪些是數組之前不知道。

有沒有辦法在事先不知道的情況下解析任意的JSON(無論數組還是對象)?例如,因爲他們需要的類型預先了解這些不工作

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

理想有類似

Json.Parse(...) 

是吐出了一個數組或者根據JSON對象。

+0

'動態jObj = JsonConvert.DeserializeObject(JSON);'應該對任何有效的JSON –

+2

我總是工作建議對一個強類型對象進行反序列化。任何理由都無法完成? –

+0

@ErikPhilips「任何理由都無法完成」問題就在於此。 –

回答

4

使用Json.Net

dynamic jObj = JsonConvert.DeserializeObject(json); 

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

var jObj = JToken.Parse(json);