我有一个用于 AJAX 调用的路由。它从数据库中获取项目并返回一个 JSON 数组。
我正在使用:
return reply({
myArray
}).code(200);
一切正常,但我在浏览器中的输出是:
{
"myArray":[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
}
但我需要的是:
{
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
}
基本上,我需要去掉“myArray”父元素,只留下数组。这看起来像是一项简单的任务,但我在任何地方都找不到文档或示例。
谢谢, 马可
最佳答案
这个:
{
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
}
是无效的 JSON 表示法。在大括号内,您应该有键值对,其中键是字符串,值是有效的 JSON 值(字符串、数字、 bool 值、null
、数组或对象)。
也许您期望的只是数组:
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
这是有效的 JSON。在这种情况下,您可以简单地将它发送到您的 reply
函数:
return reply(myArray).code(200);
有关 JSON 表示法的更多信息,请参阅 the article on MDN玩JSON.stringify
以更好地判断您看到的 JSON 何时有效。
关于javascript - 从 JSON 回复中移除父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114431/