【问题标题】:Convert Single column C# DataTable to JSON using JSON.NET使用 JSON.NET 将单列 C# DataTable 转换为 JSON
【发布时间】:2015-07-29 15:50:01
【问题描述】:

DataTable 包含单列 EFFDATE。

EFFDATE
2015-06-15
2014-10-21
2014-07-17
2014-07-16
2014-06-17
2014-03-13

我有以下代码将 DataTable dttbl 转换为 JSON。

JsonConvert.SerializeObject(dttbl, Formatting.Indented)

转换的输出是

[
  {
    "EFFDATE": "2015-06-15"
  },
  {
    "EFFDATE": "2014-10-21"
  },
  {
    "EFFDATE": "2014-07-17"
  },
  {
    "EFFDATE": "2014-07-16"
  },
  {
    "EFFDATE": "2014-06-17"
  },
  {
    "EFFDATE": "2014-03-13"
  }
]

我想要的输出是

{
    "EFFDATE": [
        "2015-06-15",
        "2014-10-21",
        "2014-07-17",
        "2014-07-16",
        "2014-06-17",
        "2014-03-13"
    ]
}

请指教。

【问题讨论】:

  • 没办法... JSON 需要明确每个对象中的列名
  • JSON 需要显式列还是 JSON.net 需要这样做?预期的 JSON 是有效的。所以我想我必须从 DataTable 自定义创建自己的 JSON。

标签: c# json datatable json.net


【解决方案1】:
var json = JsonConvert.SerializeObject(
              new { EFFDATE = dt.AsEnumerable().Select(r => r[0]) }
           );

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-01
  • 2015-05-31
  • 1970-01-01
相关资源
最近更新 更多