我有一个 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/