获取数组 Json 的一个对象

问题描述

我按照这个小方法在 nodejs 中应用了一个简单的 api。这不是我的专长领域,我是一名计算机网络分析师,虽然我用 C++(简单)和 C# 开发应用程序,但我对如何获得由以下代码

使用MysqL的Javascript代码->

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

Custumers.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/custumers?name=Gabriel

我的结果:

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

如何获取name、cod、imgCustomer的值?

我试试;

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

结果如果:未定义

解决方法

您可以像这样在 JavaScript 中访问对象值...

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

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

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

,

尝试这样的事情:

let res = [
   {"id":6,"updatedAt":null}
   ]

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

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

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

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

user.name; // Gabriel
,

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

let res = [
   {id:6,name:"Gabriel",cod:10,igCustumer:"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.igCustumer);