c# 将 Json 加载到继承类中

标签 c# json class inheritance

我有一个 C# 类,我需要将 JSON 解析到其中。

类(class)有一个List<>来自另一个类(class)。

类结构是这样的。

public class OrderFund {
  public int OrderID { get; set; }
  public int BrokerID { get; set; }
  public string SettlementMethod { get; set; }
  public List<SettlementSap> SettlementsSap { get; set; }
}

public class SettlementSap {
  public string SapMonetaryAccountNo { get; set; }
  public string SapMonetaryAccountType { get; set; }
  public string SapMonetaryAccountOffice { get; set; }
}

我的JSON是这样的

{
  "settlementMethod": "SAP",
  "BrokerID": 1,
  "OrderID": 1,
  "Settlements": [
    {
      "SapMonetaryAccountNo": "400245892464",
      "SapMonetaryAccountType": "CA",
      "SapMonetaryAccountOffice": "AR"
    }
  ]
}

我像这样加载我的 JSON 文件......

static OrderFund LoadJson(string file) {
  string dire = Directory.GetCurrentDirectory();
  using (StreamReader r = new StreamReader(dire + "\\" + file)) {
    string json = r.ReadToEnd();
    OrderFund items = JsonConvert.DeserializeObject<OrderFund>(json);
    return items;
  }
}

数据加载到 OrderFun 中类但OrderFund.SettlementsSap一片空白。 如何加载 Settlements进入SettlementsSap

最佳答案

那是因为您已将字段命名为 SettlementsSap,但您的 Json 字段名为 Settlements...

您可以在您的类(class)中重命名该字段;

 public class OrderFund 
    {
        public int OrderID { get; set; }
        public int BrokerID { get; set; }
        public string SettlementMethod { get; set; }
        public List<SettlementSap> Settlements { get; set; }
    }

或者添加一个 [JsonProperty("Settlements")] 像这样属性到字段;

public class OrderFund 
{
    public int OrderID { get; set; }
    public int BrokerID { get; set; }
    public string SettlementMethod { get; set; }
    [JsonProperty("Settlements")] 
    public List<SettlementSap> SettlementsSap { get; set; }
}

关于c# 将 Json 加载到继承类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51822384/

相关文章:

c# - 正则表达式匹配整数

javascript - 如何根据时间戳过滤对象数组

class - grails域类后加载将值保存在数据库中

java - JAVA中的类加载

C# Linq 完全外连接重复值

c# - PHP-C#双向通信

c# - 一个可以分解三元表达式的工具

javascript - 使用 Javascript 和 jQuery 调用 Web API

c# - 反序列化 JSON 时出错

javascript - jQuery/Javascript 获取多个元素的类以显示具有该类的元素