javascript - 从 JSON 回复中移除父元素

标签 javascript hapi.js

我有一个用于 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 MDNJSON.stringify以更好地判断您看到的 JSON 何时有效。

关于javascript - 从 JSON 回复中移除父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114431/

相关文章:

node.js - 请求从 Spotify Web API 获取用户信息导致 401 错误

javascript - 为了进行单元测试,可以在 JavaScript 中创建大量类吗?

javascript - 在已经使用 Angular 的页面上的扩展中使用 Angular

javascript - Hapi.js 中使用 Joi 的一条路由、两个有效负载

node.js - 与服务器建立多个连接有什么意义?

node.js - 在 OAuth2 身份验证调用和重定向调用之间传递值

node.js - 在 Nodejs 中使用 Joi 验证 REST 参数

javascript - 此示例中的 JavaScript 事件处理有什么问题? (使用click()和hover() jQuery方法)

javascript - 如何使用 Facebook api 在 Facebook 上分享文章并在帖子中显示文章缩略图?

javascript - 如何使用sencha嵌入youtube视频