【发布时间】:2019-02-13 14:16:45
【问题描述】:
我不知道这有什么问题:
public class Product
{
public string code { get; set; }
public string description { get; set; }
public string tp { get; set; }
}
public class Return
{
[JsonProperty("products")]
public List<Product> Products { get; set; }
}
public class BlingJson
{
[JsonProperty("return")]
public Return Return { get; set; }
}
public static void Run()
{
string str = "{ \"return\": { \"products\": [ { \"product\": { \"code\": \"8147-048PA\", \"description\": \"LEGEND 220v - HAIR CUTTER\", \"tp\": \"P\" } }, { \"product\": { \"code\": \"08164-148PA\", \"description\": \"FINALE - HAIR CUTTER\", \"tp\": \"P\" } } ] } }";
BlingJson json = JsonConvert.DeserializeObject<BlingJson>(str);
}
在反序列化时,json.Return.Products 是一个包含两个产品的列表,但所有属性(code、description 和 tp)都为空。
为方便起见格式化 JSON:
{
"return": {
"products": [
{
"product": {
"code": "8147-048PA",
"description": "LEGEND 220v - HAIR CUTTER",
"tp": "P"
}
},
{
"product": {
"code": "08164-148PA",
"description": "FINALE - HAIR CUTTER",
"tp": "P"
}
}
]
}
}
我看到过类似的问题,但没有找到适用于此案例的问题。 如何解决?
谢谢。
【问题讨论】:
-
json2csharp.com,或者visual studio的特殊过去可以告诉你缺少的层。在产品和产品之间。
-
@xdtTransform 太棒了,谢谢。