我有JSON,看起來像這樣:JSON.net解析
{
"status": {
"code": 0,
"message": "OK"
},
"data": {
"_idtype": "cusip",
"_id": "00768Y883",
"api": {
"_name": "PortfolioBreakdownsRaw",
"PortfolioDate": "2015-10-12",
"GlobalBondSuperSectorLongSalePositionBreakdown": [
{
"Name": "Municipal",
"Value": "0.57842"
},
{
"Name": "Corporate",
"Value": "1.79649"
},
{
"Name": "Securitized",
"Value": "5.29493"
},
{
"Name": "Cash & Equivalents",
"Value": "166.20776"
}
],
"GlobalBondSuperSectorShortSalePositionBreakdown": [
{
"Name": "Government",
"Value": "0.90557"
}
]
}
}
}
我能夠很容易地獲得響應的api
部分:
var jObject = JObject.Parse(json);
var api = jObject["data"]["api"];
從這裏,我不如果有任何數組將被包含在響應中。最終目標是創建一個解析器,該解析器能夠事先獲得數組名稱(GlobalBondSuperSectorShortSalePositionBreakdown
)以及它可能包含的許多行鍵值對,而無需事先知道諸如(GlobalBondSuperSectorShortSalePositionBreakdown
)之類的名稱。
我似乎無法找到一個很好的方式來遍歷對象,確定有api
級別的數組,然後遍歷這些來獲取值。
任何幫助,將不勝感激。
你想建立一個字典列表哪些是下'api'數組中元素的元素,對嗎?排除不是數組的所有元素,比如'_name'和'PortfolioDate',並且假設所有這些數組都是鍵/值對,並且不會有不符合該條件的數組,那麼它是正確的嗎? –