Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS将响应输出返回到对象数组_Javascript_Node.js - Fatal编程技术网

Javascript NodeJS将响应输出返回到对象数组

Javascript NodeJS将响应输出返回到对象数组,javascript,node.js,Javascript,Node.js,我的服务器端有一个函数,可以从数据库返回结果。 下面是函数 const sql = `SELECT addresses FROM Addresses WHERE JSON_EXTRACT(addresses, '$.address') LIKE ? ` const values = ['"'+beginning+'%'] const query = connection.query(sql, values, (error, results, fiel

我的服务器端有一个函数,可以从数据库返回结果。 下面是函数

    const sql = 
   `SELECT addresses
    FROM  Addresses
    WHERE JSON_EXTRACT(addresses, '$.address') LIKE ? `

  const values = ['"'+beginning+'%']

  const query = connection.query(sql, values, (error, results, fields) => {

      connection.end()
      if (error) {
        return reject(error)
      }
      resolve(results)
    })
  })
    .then((results) => {

      return {
        type: 'address',
        attributes: results

      }
    })
它的输出是这样的

    {
  "data": {
    "type": "address",
    "attributes": [
      {
        "addresses": "{\"address\": \"5 street, auburn, nsw 2144\", \"display\": \"5-7 Mary Street, AUBURN, NSW 2144\"}"
      },
      {
        "addresses": "{\"address\": \"5 street, lidcombe, nsw 2141\", \"display\": \"5 Street, LIDCOMBE, NSW 2141\"}"
      }
    ]
  }
}
我是JS新手,我需要按如下方式进行上述输出

{
  "data": [
    {
      "type": "address",
      "id": "5-13 aubrey street, granville, nsw 2142",
      "attributes": {
        "address": "5-13 aubrey street, granville, nsw 2142",
        "display": "5-13 Aubrey Street, GRANVILLE, NSW 2142"
      }
    },
    {
      "type": "address",
      "id": "5 street, lidcombe, nsw 2141",
      "attributes": {
        "address": "5 street, lidcombe, nsw 2141",
        "display": "5 Street, LIDCOMBE, NSW 2141"
      }
    },
    {
      "type": "address",
      "id": "5-7 mary street, auburn, nsw 2144",
      "attributes": {
        "address": "5-7 mary street, auburn, nsw 2144",
        "display": "5-7 Mary Street, AUBURN, NSW 2144"
      }
    }
    }
  ]
}
有人能帮我改变吗。然后((结果)我的函数体来实现这一点

在客户端,我在函数中得到结果,这就是我返回结果的方式

      return $http.get(`${API_URL}/addresses/?beginning=${searchTerm || ''}`)
  .then((result) => {

    // Only want to return the address string

    return result.data.data((address) => address.attributes.display)
  })

但我得到的是result.data.data不是函数

您可以将返回值更改为

return {
    type: 'address',
    attributes: results.map(result => JSON.parse(result.addresses))
}

在调用API之后,我试图从客户端获取返回result.data((address)=>address.attributes.display)的结果但是它不起作用。你能帮我把这个和上面的答案匹配起来吗?@kavish我不确定你到底想要完成什么,你能解释一下吗?非常感谢你的回答。我更新了问题。请检查我客户端的最后一部分。@kavish你必须调用
映射
,比如
返回result.data.data.map((地址)=>地址.属性.显示)