序列化一个c#datatable,层次结构为json层次结构

时间:2013-12-30 20:22:16

标签: c# json.net hierarchy

我有一个dataTable,其中包含以下数据:

Parent  Child
Dan     Heidi
Dan     Lauren
Alan    Dan
Daphne  Alan
Alan    Lorna
Alan    Tim

我想输出以下json:

[
  {
    'name': 'Daphne',
    'children': [
      {
        'name': 'Alan',
        'children': [
          {
            'name': 'Dan',
            'children': [
              {
                'name': 'Heidi'
              },
              {
                'name': 'Lauren'
              }
            ]
          },
          {
            'name': 'Tim'
          },
          {
            'name': 'Lorna'
          }
        ]
      }
    ]
  }
]

我已经使用json.net序列化程序在层次结构中序列化一个级别,我认为这是一个常见问题。有没有一种简单的方法可以将带有层次结构的datTable转换为带有层次结构的json字符串?

我想关键位是确定层次结构中有多少级别和哪些级别,我看过sql server中的hierarchyid数据类型但是看起来有点麻烦。

谢谢, 丹

1 个答案:

答案 0 :(得分:0)

以下是示例dataTable serialization

或者您可以从dataTable和序列化

创建IEnumerable<ComplexData>