我正在访问第三方供应商的Web服务以获取客户端数据。问题是,JSON没有在一致命名的层次结构中进行格式化,因此使用它非常困难。以下是数据结构的示例:
{
"0": {
"account": {
"id": 97657
},
"warehouse": {
"sid": "9999"
},
"special": {
"value_one": "306"
}
},
"1": {
"account": {
"id": 97722
},
"warehouse": {
"sid": "9999"
},
"special": {
"value_one": "444"
}
},
"2": {
"account": {
"id": 88843
},
"warehouse": {
"sid": "9999"
},
"special": {
"value_one": "222"
}
},
"errno": 0,
"errmsg": "Operation completed with no errors"
}
我尝试了很多方法来解析数据,但没有任何工作。我唯一的成功是手动输入路径,如:
JObject objJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
string id = (string)objJson["0"]["account"]["id"];
string sid = (string)objJson["0"]["warehouse"]["sid"];
尝试任何动态抛出错误“使用无效键值访问JObject值:0。期望对象属性名称。”
for (int i = 0; i < objJson.Count; i++)
{
string id = (string)objJson[i]["account"]["id"];
}
更新:此类型的其他问题有一个共同的父母。这个没有。