node和res.send一个嵌套数组

时间:2016-04-13 10:28:41

标签: json node.js express

有一个相当复杂的数组,好吧,不是超级复杂,但它包含一个树结构。 每个条目包含  名称:  水平:  网址:  父:  小孩:

每个条目"孩子"可以包含多个子条目。 例如,初始条目可能看起来像

> tree = [ 
>     0 [ name: "yourtree", level: 0, url: "www.db.com/0/yourtree", parent: "", children: [ 
>        0 [ name: "first", level: 1, url: "www.db.com/1/first", parent: "yourtree", children: []] 
>        1 [ name: "second", level: 1, url: "www.db.com/1/second", parent: "yourtree", children: []] ......

我的问题是,如果我尝试使用JSON.stringify,我会看到一个空数组,如果我使用res.send(树),则不会发送任何数据。那么如何将嵌套数组转换为JSON来发送呢?

=========结构更新============== 好的,所以通过添加一些console.log语句,我设法提取了一个实时的数据示例。 它只是第一级和第二级数据:

    console.log("Returning " + tree)
    console.log( tree[0].children );
    res.status(200).json(JSON.parse(tree));


Returning FinTech
[ [ name: 'FinTech',
    level: '0',
    parent: 'FinTech',
    group: 'FinTech',
    children: [ [Object], [Object], [Object], [Object], [Object] ] ] ]
[ [ name: 'FinTech/IT Process Management',
    level: '1',
    parent: 'FinTech',
    group: 'FinTech',
    children: [ [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object] ] ],
  [ name: 'FinTech/Disruptive Technologies',
    level: '1',
    parent: 'FinTech',
    group: 'FinTech',
    children: [ [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object] ] ],
  [ name: 'FinTech/Technology Risk',
    level: '1',
    parent: 'FinTech',
    group: 'FinTech',
    children: [ [Object], [Object] ] ],
  [ name: 'FinTech/Vendor Products',
    level: '1',
    parent: 'FinTech',
    group: 'FinTech',
    children: [] ],
  [ name: 'FinTech/Technology Change Methodologies',
    level: '1',
    parent: 'FinTech',
    group: 'FinTech',
    children: [ [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object],
      [Object] ] ] ]

=============工作模型(对象的对象而不是数组的数组)====

{ '0': 
   { name: 'FMP',
     level: '0',
     parent: 'FMP',
     group: 'FMP',
     children: 
      { '0': [Object],
        '1': [Object],
        '2': [Object],
        '3': [Object],
        '4': [Object],
        '5': [Object],
        '6': [Object],
        '7': [Object],
        '8': [Object],
        '9': [Object],
        '10': [Object],
        '11': [Object] } } }
{ '0': 
   { name: 'FMP/Private Funds',
     level: '1',
     parent: 'FMP',
     group: 'FMP',
     children: { '0': [Object], '1': [Object], '2': [Object] } },
  '1': 
   { name: 'FMP/Public Funds',
     level: '1',
     parent: 'FMP',
     group: 'FMP',
     children: 

0 个答案:

没有答案