使用c#解析json文件

时间:2017-07-13 05:29:50

标签: c# json

我需要使用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"          
    },
......
  }
}

1 个答案:

答案 0 :(得分:1)

您可以安装Newtonsoft.Json Nuget包,然后写:

JsonConvert.Deserialize<MyType>(myJsonString);

指定类型不是必需的,您可以使用相同的方法将任何json反序列化为动态对象。

- 编辑 -

对于这种情况,您可以使用:

dynamic result = JsonConvert.Deserialize<dynamic>(myJsonString);

现在result.products是一个包含不同属性的对象,其名称类似于"76V3SF2FJC3ZR3GH",您可以像result.products.76V3SF2FJC3ZR3GH.id

一样访问它

如果你想获得属性列表,你应该使用Reflection。