首页 > 解决方案 > 将 json 反序列化为 c# 对象

问题描述

{
    "0": {
        "no": "tenon",
        "title": "ProdtesterTITLE439",
        "stock": 12
    },
    "success": 1
}

我想反序列化那些json。问题是我无法在c sharp中创建名称为0的类。我试过了

[JsonObject(Title = "0")]

[DataContract(Name ="0")]

其中没有一个是有效的。


标签: c#json

解决方案


好消息!您的根对象没有名称,因此您不需要创建具有该名称的类。0是根对象的属性。

当然,0也不是 C# 中的有效属性名称。这就是JsonPropertyAttribute进来的地方:

public class RootObject
{
    [JsonProperty("0")]
    public MyData Data {get;set;}
    public bool Success {get;set;}
}

public class MyData
{
    public int Stock {get;set;}
    // other properties
}

推荐阅读