NodeJS 获取数组Json的一个对象

t8e9dugd  于 2023-06-29  发布在  Node.js
关注(0)|答案(4)|浏览(165)

我遵循这个小的如何在nodejs中应用一个简单的API。这不是我的领域 我是一名计算机网络分析师,虽然我用C++(简单)和C#开发应用程序,但我对如何获得以下代码返回的数组结果有一点疑问:
JavaScript Code using Mysql ->

//
 exports.findAll = (req, res) => {
 const name = req.query.name;
 var condition = name ? { name: { [Op.like]: `%${name}%` } } : null;

Customers.findAll({ where: condition })
.then(data => {
    res.send(data);;
})
.catch(err => {
  res.status(500).send({
    message:

      err.message || "Some error occurred while retrieving name."
   });
 });
};

访问URL以检查是否一切按预期进行。

http://10.1.1.254:8085/api/customers?name=Gabriel

我的结果:

[
   {"id":6,
   "name":"Gabriel",
   "cod":10,
   "igCustomer":"1",
   "createdAt":null,
   "updatedAt":null}
   ]

我怎么能得到这些值 的名称,代码,img客户?
我尝试;

axios.get(`http://10.1.1.254:8085/api/customers?name=Gabriel`).then((res) => {
let myvar = `My result:\n\n${res.data.name}`;
console.log(myvar);
})

结果如果:未定义

webghufk

webghufk1#

你可以像这样在JavaScript中访问对象值。

let res =   [{"id":6,
   "name":"Gabriel",
   "cod":10,
   "igCustomer":"1",
   "createdAt":null,
   "updatedAt":null}]

let name = res[0].name;
let cod = res[0].cod;
let igCustomer = res[0].igCustomer;

因为res是一个充满对象的数组,所以您可以使用对象在索引中的位置来访问对象,如res[0]。从那里,您可以通过使用点符号或括号来选择对象中的键/值对。每种方法都有其用途。

2w3kk1z5

2w3kk1z52#

代码中的问题,即您试图访问不存在的字段。res.data将等于您的端点的响应。您的响应是一个数组,因此显然它没有name字段。所以你需要拿一个特定的物体。

const user = res.data[0]; // Taking the first user.

然后你可以访问它的数据。

user.name; // Gabriel
lawou6xi

lawou6xi3#

要从数组中查找数据,可以迭代该数组并像这样使用find:

let res = [
   {id:6,
   name:"Gabriel",
   cod:10,
   igCustomer:"1",
   createdAt:null,
   updatedAt:null}
   ]

let myVar = res.find((item) => {
  return item.name === 'Gabriel'
});

console.log(myVar.name);
console.log(myVar.cod);
console.log(myVar.igCustomer);
xienkqul

xienkqul4#

试试这样的东西:

let res = [
   {"id":6,
   "name":"Gabriel",
   "cod":10,
   "igCustomer":"1",
   "createdAt":null,
   "updatedAt":null}
   ]

console.log(res[0]['name']);
console.log(res[0]['cod']);
console.log(res[0]['igCustomer']);

相关问题