我正在编写一个将json转换为csv的小工具。首先,我尝试将json转换为Dataset或Datatable,但失败了。
Json字符串是:
{
"id1": {
"id": "id11",
"cards": {
"1": {
"id": "test11",
"fingerprint": "test11",
"last4": "test11",
"exp_month": 7,
"exp_year": 2019,
"brand": "test11"
},
"0": {
"id": "test12",
"fingerprint": "test12",
"last4": "test12",
"exp_month": 7,
"exp_year": 2020,
"brand": "Visa"
},
"2": {
"id": "test13",
"fingerprint": "test13",
"last4": "test13",
"exp_month": 8,
"exp_year": 2020,
"brand": "Visa"
}
}
},
"id2": {
"id": "id21",
"cards": {
"1": {
"id": "test21",
"fingerprint": "test21",
"last4": "test21",
"exp_month": 7,
"exp_year": 2019,
"brand": "MC"
},
"0": {
"id": "test22",
"fingerprint": "test22",
"last4": "test5",
"exp_month": 2,
"exp_year": 2020,
"brand": "Visa"
}
}
}
}
我尝试了
DataSet ds = JObject.Parse(jsonContent)["root"].ToObject<DataSet>();
DataTable dt = JsonConvert.DeserializeObject<DataTable>(jsonContent);
但是它不起作用。给出第一个错误:
JsonToCsv.exe中发生了'System.NullReferenceException'类型的未处理异常
其他信息:对象引用未设置为对象的实例。
第二个错误:
Newtonsoft.Json.dll中发生了类型为'Newtonsoft.Json.JsonSerializationException'的未处理异常
其他信息:读取DataTable时出现意外的JSON令牌。应该是StartArray,得到了StartObject。路径”,第1行,位置1。
任何建议将不胜感激
答案 0 :(得分:1)
我设法将json解析为一个列表,然后将列表转换为csv。解析json到列表的代码如下:
False