我正在构建一个Node JS应用程序,该应用程序读取包含Json对象数组的文件,并将其显示在表上。我需要解析JSON数据数组。示例json数据:
[{"name":"Ken", "Age":"25"},{"name":"Pulsar", "Age":30}]
我已经使用以下代码从文件中读取并将其传递到另一个json对象:
const fileRead = fs.readFileSync("/Users/mken/Desktop/Node JS/DATA-TABLE/public/files/data.json", (err, data)=>{
console.log(JSON.parse(data))
return JSON.parse(data);
});
console.log(fileRead)
期望的输出是一个JSON对象数组。但是,当我console.log fileRead时,我没有得到预期的输出:
我进一步打算遍历上面读取的数据并将其传递给JSON对象:
const data = {headers:["Name", "Age"], rows: fileRead.foreach((row)=>{return row.name, row.age];})}
请检查并告知。
const fs = require('fs');
// Thanks to: https://nodejs.dev/learn/reading-files-with-nodejs
try {
const data = fs.readFileSync('test.txt', 'utf8');
console.log(data);
const json = JSON.parse(data);
console.log(json);
} catch (err) {
console.error(err);
}
问题在于编码。我将utf-8作为第二个参数传递给filereadsync,它工作了。谢谢你
如果我执行您的任务,我会将数据保存在表中,然后将数据粘贴到json文件中,然后像您的代码一样读取该文件
我这样做是因为我想控制JSON文件的格式。如果你用JSON保存一个手动文件,在格式化JSON时有很多问题。 我希望我的回答是有帮助的。好运!