我有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',并且假设所有这些数组都是键/值对,并且不会有不符合该条件的数组,那么它是正确的吗? –