【发布时间】:2014-05-05 15:43:44
【问题描述】:
各位, 我有一个函数可以创建一个我想返回给浏览器的对象。出于某种原因,浏览器得到一个没有内容的空对象:
{
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 username@blog2.example.com"
}
]
}
]
}
]
}
]
},
]
【问题讨论】:
-
JSON 的数组只是列表。对于键/值对,使用
Objects --{ foo: ... }。 -
@JonathanLonowski 结果需要是对象数组...
-
staging和production的值仍然可以是Arrays,因为它们都是Objects 的列表,但是那些Arrays 需要包含在其中Objects 在输出中包含foo、nodejs等。 -
我已经更新了我的问题
-
@Cmag util.inspect 的输出是完全格式错误的 JSON。这只是复制和粘贴错误吗?如果不是,我怀疑这至少是您的一些问题。
标签: javascript json node.js express