【发布时间】:2018-09-15 19:50:28
【问题描述】:
我想反序列化以下 JSON。
问题是对象“ANDE”和“DAR”可以改变。
意味着对象是未知的,并且会根据我想要反序列化的 JSON 而发生变化。
大约 8000 个不同的对象(ANDE、DAR、...)需要反序列化。
{"ANDE":
{"chart":[
{"date":"20180914","minute":"09:30"},{"date":"20180914","minute":"13:30"}]},
"DAR":
{"chart":[
{"date":"20180914","minute":"09:30"},{"date":"20180914","minute":"13:30"}]}}
我通过 HTTP 响应获取数据并想放入 List:
HttpResponseMessage response = client.GetAsync(API_PATH).GetAwaiter().GetResult();
List historicalDataList = response.Content.ReadAsAsync<List<HistoricalDataResponse>>().GetAwaiter().GetResult();
HistoricalDataResponse 类如下所示:
public class HistoricalDataResponse
{
public string date { get; set; }
public string minute { get; set; }
}
如何在 C# 中使用未知对象反序列化这种 JSON? 非常感谢任何帮助。
【问题讨论】:
-
如果您知道每种不同的模式,请使用 json.net TypeConverter newtonsoft.com/json/help/html/CustomJsonConverter.htm
-
我更新了答案,请看
-
您是否尝试反序列化为字典?
Dictionary<string, xxx>
标签: c# json serialization json-deserialization