我有以下 JSON;
{
"b2c": {
"languages": {
"de": {
"models": {
"t300": {
"name": "Aveo",
"bodyTypes": {
"t300-4d-my13": {
"trimLevels": {
"lt": {
"name": "LT",
"variants": {
"1.2_16V_86_Gas_MT": {
"name": "1.2 MT",
"price": {
"EUR": {
"value": 13990,
"formatted": "13.990,00 €"
}
},
"infoFeatures": {
"fuel_consumption_extra_urban#consumption": {
"name": "Kraftstoffverbrauch außerorts ",
"value": "4.6",
"formatted": "4,6"
},
"top_speed#kilometer_per_hour": {
"name": "Höchstgeschwindigkeit",
"value": "171",
"formatted": "171"
}
},
"images": null,
"documents": null
}
}
}
}
}
}
}
}
}
}
}
}
b2c、de、t300、t300-4d-my13、It 等的值是动态的,但语言、模型、bodyTypes、trimLevels、变体、inforFeatures、图像和文档将保持不变。我需要提取所有值以访问诸如languages.["de"]、models.["t300"].name、timeLevels.["It"]、Variants 和infoFeatures 之类的值,因为这些键[""] 是动态的,所以我我不确定要参考什么。
我努力了,
var jsonSerializer = new JsonSerializer();
dynamic dynamicObject = jsonSerializer.Deserialize(new JsonTextReader(new StringReader(jsonString)));
//var level1 = dynamicObject.b2c
我也看过这个 将 JSON 反序列化为 C# 动态对象?
并尝试过
var dynamicObject = Json.Decode(jsonString);
但收到以下错误;
尝试通过方法“System.Web.Helpers.Json.Decode(System.String)”访问字段“System.Web.Helpers.Json._serializer”失败。