[英]How to convert nested JSON to csv in C#?
我正在尝试使用Newtonsoft.Json
将JSON
以下的序列反序列化为csv
但是失败了。 我无法正确定义JSON的架构,因此失败了。
输入JSON:
{
"2017-02-11":
{
"Table1": [
{
"code": "code day1.1.1",
"no": "no day1.1.1"
}
],
"Table2": [
{
"code": "code day1.2.1",
"no": "no day1.2.1"
},
{
"code": "code day1.2.2",
"no": "no day1.2.2"
}
]
},
"2017-02-12":
{
"Table1": [
{
"code": "code day2.1.1",
"no": "no day2.1.1"
},
{
"code": "code day2.1.2",
"no": "no day2.1.2"
}
],
"Table2": [
{
"code": "code day2.2.1",
"no": "no day2.2.1"
}
]
}
}
输出csv:
,,code,no
2017-02-11,Table1,code day1.1.1,no day1.1.1
,Table2,code day1.2.1,no day1.2.1
,,code day1.2.2,no day1.2.2
2017-02-12,Table1,code day2.1.1,no day2.1.1
,,code day2.1.2,no day2.1.2
,Table2,code day2.2.1,no day2.2.1
当我尝试使用
DataSet dataSet = Newtonsoft.Json.JsonConvert.DeserializeObject<DataSet>(content).
它返回异常。
反序列化对象时,返回的类型需要与JSON中的对象名称相匹配的属性。
您的JSON使用日期作为对象名称,我认为这意味着这些值是动态的。 如果它们是动态的,那么我建议使用
var dynamicResults = JSON.Decode(content);
Decode返回一个动态列表类型,可以循环通过该列表,从那里可以将每个动态的结果绑定到新的DataSet类型中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.