在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
相关产品推荐
相关产品推荐

