无法将json转换为数据集,数据表

时间:2018-11-02 15:44:22

标签: json csv

我正在编写一个将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。

任何建议将不胜感激

1 个答案:

答案 0 :(得分:1)

我设法将json解析为一个列表,然后将列表转换为csv。解析json到列表的代码如下:

False