【问题标题】:How to Convert complex hierarchical Datatable to json?如何将复杂的分层数据表转换为 json?
【发布时间】:2017-02-23 05:01:36
【问题描述】:

我正在尝试将我的关注 datatable 转换为 json,但直到现在还没有成功。

Datatable点赞:

<b>Name    Address</b>

companies   addresses
companies   bids
companies   commitments
companies   evaluations
companies    Null

我希望json 是这样的,其中名称为null,它将是父节点,并且具有相同的父节点文本子节点进入该父节点。

{
  "Name": "companies",
  "Address": [
    {
      "addresses",
      "bids","commitments", "evaluations"
    }
  ]
}

将此代码写入C#

【问题讨论】:

  • '{ "Name": "companies", "Address": [ { "addresses", "bids","commitments", "evaluations" } ] }' 是你得到的或者是什么你要?不过,这似乎不是有效的 JSON。

标签: c# asp.net .net asp.net-mvc-4 c#-3.0


【解决方案1】:

您可以使用 LINQName 对数据进行分组,并忽略该组中具有null 值的地址。最后,您可以使用 Newtonsoft JSON 将投影数据转换为 json 字符串,如下所示:-

var result = dt.AsEnumerable().GroupBy(x => x.Field<string>("Name"))
               .Select(x => new
                       {
                           Name = x.Key,
                           Address = x.Where(z => z.Field<string>("Address") != null)
                                      .Select(z => z.Field<string>("Address")).ToList()
                       });

string jsonResult = JsonConvert.SerializeObject(result);

Sample Fiddle.

【讨论】:

    猜你喜欢
    • 2015-04-14
    • 2019-05-21
    • 2022-01-23
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多