我需要使用C#将JSON文件解析为较小的部分。 我想知道如何解析JSON以获得如下所示的每个产品" product"(因为我需要将每个较小的json存储在其他地方)?我需要写什么样的代码?
"76V3SF2FJC3ZR3GH" : {
"id" : "76V3SF2FJC3ZR3GH",
"attribute1": "AAAAA",
"attribute2": "BBBBB",
"attribute3": "CCCCC"
}
JSON的示例如下:
{
"A" : "XXXXX",
"B" : "XXXXX",
"C" : "XXXXXX",
"D" : "XXXXX",
"products" : {
"76V3SF2FJC3ZR3GH" : {
"id" : "76V3SF2FJC3ZR3GH",
"attribute1": "AAAAA",
"attribute2": "BBBBB",
"attribute3": "CCCCC"
},
"RDXNGJU5DRW4G5ZK" : {
"id" : "RDXNGJU5DRW4G5ZK",
"attribute1": "AAAAA",
"attribute2": "BBBBB",
"attribute3": "CCCCC"
},
......
}
}
答案 0 :(得分:1)
您可以安装Newtonsoft.Json
Nuget包,然后写:
JsonConvert.Deserialize<MyType>(myJsonString);
指定类型不是必需的,您可以使用相同的方法将任何json反序列化为动态对象。
- 编辑 -
对于这种情况,您可以使用:
dynamic result = JsonConvert.Deserialize<dynamic>(myJsonString);
现在result.products
是一个包含不同属性的对象,其名称类似于"76V3SF2FJC3ZR3GH"
,您可以像result.products.76V3SF2FJC3ZR3GH.id
如果你想获得属性列表,你应该使用Reflection。