gpt4 book ai didi

javascript - 如何在 JavaScript 中访问 JSON 或对象的特定属性

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:43 25 4
gpt4 key购买 nike

我正在使用express和node-xlsx模块在Nodejs中制作一个应用程序,我想做的是让用户能够上传一个xlsx文件(它必须具有两列的特定格式),然后服务器读取它并对文件的每一行执行一些操作。

(我的测试文件示例,分别为 A 列和 B 列):

    Johny Wilson    | jonhny@email.com
Andrew Jehnsen | andrew@example.com
Billy Soon | billy@mail.com

为了做到这一点,我决定使用 node-xlsx 模块,在使用以下代码读取文件后:

    var xlsx = require('node-xlsx');

router.post('/enviar', upload.single("lista"),(req, res, next) =>{
//dir is the path of the xlsx file
const workSheetsFromFile = xlsx.parse(dir);
res.send(workSheetsFromFile);
});

返回一个如下所示的对象:

    [
{
"name": "Hoja1",
"data": [
[
"Johny Wilson",
"jonhny@email.com"
],
[
"Andrew Jehnsen",
"andrew@example.com"
],
[
"Billy Soon",
"billy@mail.com"
]
]
}
]

如您所见,模块返回所有文件的数据,包括工作表的详细信息(在本例中只有一个),我只想访问包含键和值的“数据”数组来处理它们。

我已经尝试使用以下方法循环数据数组:

    workSheetsFromFile.data.forEach((element) =>{
console.log(element);
});

    workSheetsFromFile[data].forEach((element) =>{
console.log(element);
});

    workSheetsFromFile['data'].forEach((element) =>{
console.log(element);
});

但他们都只是向我发送了一个错误,例如“无法读取未定义的属性'forEach'”或“数据未定义”:(

目前,通过这几行代码,我希望迭代数据数组并打印每对键和值,因此一旦修复,就可以在该循环内处理每个键和值,以便发送自动邮件。

最佳答案

这里似乎是一个对象数组,而不是对象本身!

尝试

 workSheetsFromFile[0].data.forEach((element) => {
console.log(element);
});

如果元素较多,请考虑先循环数组,然后提取数据

关于javascript - 如何在 JavaScript 中访问 JSON 或对象的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54065868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com