首页 > 解决方案 > 时间:2019-06-01 标签:c#json,带有一个不断变化的类

问题描述

public class 2500113075262000    {
    public string pair { get; set; } 
    public string type { get; set; } 
    public double amount { get; set; } 
    public int rate { get; set; } 
    public string timestamp_created { get; set; } 
    public int status { get; set; } 
}

public class Return    {
    public 2500113075262000 2500113075262000 { get; set; } 
}

public class Root    {
    public int success { get; set; } 
    public Return @return { get; set; } 
}

class 2500113075262000 是不断变化的,这个是订单ID,像反序列化

{"success":1,"return":{"2500113075262000":{"pair":"eth_rur","type":"sell","amount":0.00110569,"rate":46100,"timestamp_created":"1608918997","status":0}}}

标签: c#jsonclassdynamic

解决方案


看起来它只是关键 - 大概是订单 ID - 正在改变。我建议Return完全删除您的课程,并将您的Root课程更改为Dictionary<string, Order>. 我还建议使用惯用的 .NET 属性名称编写您的类,并使用JsonPropertyAttribute它来指定 JSON 中的表示形式。所以它会是这样的:

public class Order
{
    [JsonProperty("pair")]
    public string Pair { get; set; }

    [JsonProperty("type")]
    public string Type { get; set; }

    // etc, other properties
}

public class Root
{
    [JsonProperty("success")]
    public int Success { get; set; }

    [JsonProperty("return")]
    public Dictionary<string, Order> Returns { get; set; }
}

推荐阅读