2014-05-05 69 views
1

Folks, 我有一個函數可以創建一個對象,我想返回瀏覽器。出於某種原因,瀏覽器越來越空的對象,而不內容:JavaScript Express返回空JSON

{ 
    pName: [ ] 
} 

這裏是通過console.log(require('util').inspect(projectObject, false, 10));

{ pName: 
    [ foo: 
     [ nodejs: 
      [ staging: 
       [ 
        { name: 'i-4a14c51a', id: 'i-4a14c51a' }, 
        { name: 'i-19fc094a', id: 'i-19fc094a' }, 
       ], 
       production: 
       [ 
        { name: 'i-5f14c50f', id: 'i-5f14c50f' }, 
        { name: 'i-b1fb0ee2', id: 'i-b1fb0ee2' }, 
       ] 
      ] 
     ], 
... 

,因爲它認爲我會想象它不會返回對象的原因是對象第一個實體是空的。

我在哪裏犯錯?結果需要尋找鏈接纔可:

"hosts": [ 
{ 
    "projectA": [ 
    { 
     "foo": [ 
      { 
      "nodejs": [ 
      { 
     "production": [ 
         { 
         "name": "Her blog", 
         "cmd": "ssh [email protected]" 
         } 
        ] 
        } 
       ] 
       } 
      ] 
      } 
     ] 
    }, 
    ] 
+2

JSON的數組只是列表。對於鍵/值對,使用'Object's - '{foo:...}'。 –

+0

@JonathanLonowski結果需要是對象數組...... – Cmag

+1

「staging」和「production」的值仍然可以是「Array」,因爲它們都是Object的列表,但是這些Array需要包含在Object中以在輸出中包含'foo','nodejs'等。 –

回答

2

我相信你的問題是在這裏:

{ pName: 
    [ foo: // <-- invalid JSON 
     [ nodejs: 
      [ staging: 
... 

如果這是一個督察的輸出我得看看projectObject究竟是如何被構建(你是否正在創建一個數組,然後爲它分配一些屬性?在這種情況下創建一個對象)。

恐怕我不確定如何獲得所需的結果並提供可用的信息。