You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Node.js中如何从JSON数据中提取id、name、email等指定字段?

实现方案

情况1:数据已加载为内存变量

你给出的employees是存储员工对象的数组,直接通过数组遍历+字段提取即可,最简洁的实现方式是配合对象解构语法:

// 你的原始数据
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字段
const extractedList = employees.map(({ id, name, email }) => ({ id, name, email }))

// 如果只需要第一条数据(和你给出的示例结果完全一致)
const result = extractedList[0]
console.log(result)
/* 输出结果:
{
  id: 1,
  name: 'Lann',
  email: 'b@sd.com'
}
*/

情况2:数据存储在独立文件中

如果数据保存在后缀为.js的文件中,直接通过CommonJS规范引入即可:

// 假设数据存储在同级目录的employee.js中
const { employees } = require('./employee.js')
// 后续提取逻辑和上面完全一致
const result = employees.map(({ id, name, email }) => ({ id, name, email }))[0]

如果是纯JSON文件(无let employees =前缀,只有数组本身的JSON内容),可以用fs模块读取后解析:

const fs = require('fs/promises')

async function getExtractedData() {
  const fileContent = await fs.readFile('./employees.json', 'utf-8')
  const employees = JSON.parse(fileContent)
  return employees.map(({ id, name, email }) => ({ id, name, email }))[0]
}

getExtractedData().then(console.log)

内容的提问来源于stack exchange,提问作者Nirodha Wickramarathna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:15:02