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((地址)=>地址.属性.显示)