對不起人。我很新的編寫代碼...如何判斷JSON結果是否有對象或數組?
我正在編寫一個powershell cmdlet在C#中,它伸出到API並獲取JSON作爲響應。
取決於呼叫我做出一個API,JSON數組或返回
Sometiems單個JSON對象,也可以是
{"result": [
{
"id": "24095",
"hostid": "24094",
"name": "host1.fqdn.com",
"clustered": "false",
"type": "VM",
"ipaddress" : "192.168.1.184"
},
{
"id": "24097",
"hostid": "24096",
"name": "host2.fqdn.com",
"clustered": "true",
"type": "VM",
"ipaddress" : "192.168.1.185"
}
]
}
,有時也可以是
{"result": {
"id": "24095",
"hostid": "24094",
"name": "host1.fqdn.com",
"clustered": "false",
"type": "VM",
"ipaddress" : "192.168.1.184"
}
}
我想弄清楚如何使用JSON.NET,我可以找出如果返回的json有一個「結果」或「結果」數組的對象。
根據檢查,我想打電話打印出
我希望能寫會打印出所有的鍵作爲一個通用的方法CSV格式的對象或數組的方法CSV標題以及CSV的值作爲行的值。
但我在與被搞清楚我的JSON對象是否數組或只是一個對象
我試着在
無法
JObject jsonres = JObject.Parse(strResponse); JObject appobj = (JObject)jsonres.SelectToken("result"); Console.WriteLine(appobj.Type.ToString());
結果麻煩的第一件事投入'Newtonsoft.Json.Linq.JArray'類型的對象來鍵入 'Newtonsoft.Json.Linq.JObject'。
當appobj [「result」]是一個數組並且工作得很好,並且當appobj [「result」]是單個對象時打印「Object」。
哦!甜!這使它變得更容易!非常感謝@bit。 – anoopb 2014-10-09 03:58:32