在没有 JsonProperty 的情况下将 JSON 解析为 class

Parse JSON into class without JsonProperty

示例数据:

{
  "status": "success",
  "data": {
    "01234": {
      "001": "20",
      "123": "10"
    },
    "56789": {
      "001": "100",
      "328": "5"
    }
  }
}

我想检查以确保 "status" = "success",如果是,则将 "data" 扁平化为更多的关系结构以存储在关系数据库中。从上面看,它看起来像:

Product Location  Quantity
01234   001       20
01234   123       10
56789   001       100
56789   328       5

我的理解是,因为“01234”和“56789”会发生变化,所以我无法创建 class 来反序列化为使用 JsonProperty。

如何将其反序列化为 class?不使用 class 进行反序列化会更容易吗?

编辑

我能够根据接受的答案让它工作,但我想知道为什么这不起作用(这是我在发布此问题之前尝试的):

public class FindResponse { 
    [JsonProperty("status")] 
    public string status { get; set; } 
    [JsonProperty("data")] 
    public FindResponseData data { get; set; } 
} 

public class FindResponseData { 
    public Dictionary<string, Dictionary<string, int>> sku { get; set; } 
} 

//This doesn't work; the "data" in the "result" object was null. 
var result = JsonConvert.DeserializeObject<FindResponse>(skusJson);

您可以如下创建 class,并尝试使用 deserialization 之后的字典值映射数据。可能不是更好的方法,但它会适合您的数据模型。

public class MyClass {
        public string Status { get; set; }
        public Dictionary<string, Dictionary<string, string>> Data { get; set; }
    }

   //and then
   var data = JsonConvert.DeserializeObject<MyClass>(jsonContent);