繁体   English   中英

如何从 JSON Node.js 获取特定数据值?

[英]How to get particular data values from JSON Node.js?

这是我的 JSON 文件 output:

let employees = [{
  "id":1,
  "name":"Lann",
  "username":"brot",
  "email":"b@sd.com",
  "address": {
    "city":"Gweh",
    "zipcode":"92998-3874",
    "geo": {
      "lat":"45",
      "lng":"77"
    }
  }
}]

我如何从下面获得 id、name 和 email:

{
  "id":1,
  "name":"Lann",
  "email":"b@sd.com"
}

您可以使用 map 存档。

 let employees = [{ "id":1, "name":"Lann", "username":"brot", "email":"b@sd.com", "address":{ "city":"Gweh", "zipcode":"92998-3874", "geo":{ "lat":"45", "lng":"77" } } }] const data = employees.map(o => ({ id: o.id, name: o.name, email:o.email })); console.log(data[0]);

如果您的数组只有一个元素,您可以只访问信息,无需像这样构建另一个数组: employees[0].id , employees[0].name , employees[0].email或者您可以提取一个 object使用 Object 解构

 let employees = [{ "id": 1, "name": "Lann", "username": "brot", "email": "b@sd.com", "address": { "city": "Gweh", "zipcode": "92998-3874", "geo": { "lat": "45", "lng": "77" } } }]; const picked = (({ id, name, email }) => ({ id, name, email }))(employees[0]); console.log(picked);

但是如果你的阵列有更多的员工,我认为你需要做的是通过 id 或 name 搜索并返回一个 object 并提供最少的信息,你可以这样做

 let employees = [{ "id": 1, "name": "Lann", "username": "brot", "email": "b@sd.com", "address": { "city": "Gweh", "zipcode": "92998-3874", "geo": { "lat": "45", "lng": "77" } } }]; let employee = employees.find(o => o.name === 'Lann'); let picked = (({ id, name,email }) => ({ id, name,email }))(employee); console.log(picked);

您可以通过使用数组解构来简单地做到这一点。

let employees = [{
          "id":1,
          "name":"Lann",
          "username":"brot",
          "email":"b@sd.com",
          "address":{
             "city":"Gweh",
             "zipcode":"92998-3874",
             "geo":{
                "lat":"45",
                "lng":"77"
             }
          }}];

// Destructuring array
const [employee] = employees;

** 现在从这里开始, employee是 object,您可以像访问其他对象一样正常访问其属性。 用于获取idnameusername :**

employee.id;
employee.name;
employee.username;

如果它包含多个项目,您还可以循环通过您的输入并获得一组收缩项目:

 let employees = [{ "id": 1, "name": "Lann", "username": "brot", "email": "b@sd.com", "address": { "city": "Gweh", "zipcode": "92998-3874", "geo": { "lat": "45", "lng": "77" } } }] let shrink = []; for (let employee of employees) { shrink.push({ id: employee.id, name: employee.name, email: employee.email }); } console.log(shrink);

如果“lat”:存在并且如果存在返回员工ID值,如何搜索嵌套值geo?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM