簡體   English   中英

如何在C#中將嵌套JSON轉換為csv?

[英]How to convert nested JSON to csv in C#?

我正在嘗試使用Newtonsoft.JsonJSON以下的序列反序列化為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM