示例数据:
{
"status": "success",
"data": {
"01234": {
"001": "20",
"123": "10"
},
"56789": {
"001": "100",
"328": "5"
}
}
}
我想检查以确保"状态" ="成功",如果是的,则将"数据"变成更多的关系结构,以存储在关系数据库中。从上面看,它看起来像:
Product Location Quantity
01234 001 20
01234 123 10
56789 001 100
56789 328 5
我的理解是因为" 01234"one_answers" 56789"将会改变,我将无法创建一个类以使用JSONPROPERTY的类。
我如何将其化为班级?不使用类的情况下只能进行挑选?
编辑
我能够根据公认的答案使它起作用,但是想知道为什么这是不起作用的(这是我在发布此问题之前正在尝试的):
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);
您可以在下面创建一个类,并尝试在避免后使用字典值映射数据。可能不是更好的方法,但它适合您的数据模型。
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);