【发布时间】:2013-12-26 00:25:12
【问题描述】:
我有两个对象,例如:
{ Count: 1,
Items:
[ { foo: [Object],
name: [Object],
bar: [Object],
baz: [Object],
qux: [Object] } ] }
和
{ Count: 0, Items: [] }
我需要组合它们并返回一个 JSON 对象。但是,当我尝试这个时,我得到了
"[object Object][object Object]"
代码:
function returnResponse(obj1, obj2) {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain; charset=UTF-8');
var returnResult = obj1 + obj2
res.send(JSON.stringify(returnResult, undefined, 2));
res.end();
}
如何让所有对象在浏览器中正确显示?
【问题讨论】:
-
您希望“组合”结果如何?
+性能字符串连接和对象的默认字符串表示是[object Object]。 -
仅供参考,您似乎将 JavaScript 对象文字(JavaScript 语言语法的结构)与 JSON(一种独立于语言的数据交换格式,如 XML 或 CSV)混淆了。
obj1和obj2是对象,而不是 JSON 对象。 There is no such thing as a "JSON object". -
@nick4fake:在与他人交流时,能够使用术语非常重要。从上下文中可以清楚地看出 OP 正在谈论 JS 对象,但如果我现在可以教育他们,那么他们就不会在不同的、可能不太明显的环境中犯同样的错误。
-
@Clustermagnet:这是一个 JS 对象(请不要再说 JSON 对象):
{}。这是另一个:{ combined: true }。有近乎无限的“单一物体”。这些显然不是您想要的,但对我们来说,您确实想要什么就不太明显了。请编辑您的问题并明确写出您期望的两个示例对象“组合”的结果。 -
根据接受的答案,您似乎想要一个对象数组。如果您发布了一个您期望输出的示例,这会简单得多。
标签: javascript json node.js restify