【发布时间】:2022-01-10 16:43:37
【问题描述】:
我有一个像下面这样的 json
{
"date": "2021-12-04",
"SMIFUND": {
"ACC": 5.7299,
"TATA": 5.155546,
"RELIANCE": 108.779225
}
}
现在
SMIFUND -> (input parameter to get this json result)
ACC, TATA , RELAINCE -> dynamic
现在作为作业的一部分,我必须使用 Newtonsoft.json 反序列化,并且不能使用 Dictionary<string,float> 或 dynamic,而是直接反序列化到整个 json 或 SMIFUND 部分。
下面是我的班级结构
public class Broker
{
public string Date { get; set; }
public List<Fund> funds{ get; set; }
}
public class Fund
{
public string StockName{ get; set; }
public float Price{ get; set; }
}
我可以将结果分成两部分
JObject jsonObject = JObject.Parse(result);
brokerObject.Date = (string)jsonObject["date"];
但是当我尝试将 List 转换为 Fund 时,它会给出名称值反序列化错误
var fundsList = JsonConvert.DeserializeObject<List<Fund>>(jsonObject[$"{input}"].ToString());
{input} is SMIFUND
【问题讨论】:
标签: c# json serialization json.net