Javascript JSON.Parse()无法正确检索JSON数组的值
我必须读取一个包含json数据的文件,然后解析它并检索值。我使用下面的代码来检索和解析json,但它返回的值是未定义的 JSON字符串 [{ “说明”:“确保前景色和背景色之间的对比度符合WCAG 2 AA对比度阈值”, “帮助”:“元素必须具有足够的颜色对比度”, “帮助URL”:https://dequeuniversity.com/rules/axe/3.5/color-contrast?application=axeAPI", “id”:“颜色对比度”, “影响”:“严重” } ] 下面是用于读取和解析文件的代码Javascript JSON.Parse()无法正确检索JSON数组的值,javascript,json,Javascript,Json,我必须读取一个包含json数据的文件,然后解析它并检索值。我使用下面的代码来检索和解析json,但它返回的值是未定义的 JSON字符串 [{ “说明”:“确保前景色和背景色之间的对比度符合WCAG 2 AA对比度阈值”, “帮助”:“元素必须具有足够的颜色对比度”, “帮助URL”:https://dequeuniversity.com/rules/axe/3.5/color-contrast?application=axeAPI", “id”:“颜色对比度”, “影响”:“严重” } ] 下面
function parseAndGetVal() {
const fs = require("fs");
let folderLocation = "jsonReports/report/nf/";
let testResults = [
["File Name", "Description", "Help", "Help URL", "ID", "Impact"]
];
fs.readdir(folderLocation, (err, files) => {
if (files !== null) {
const len = files.length;
for (let i = 0; i < len; i++) {
const match = files[i].match(/.*.*/);
if (match !== null) {
let rawdata = fs.readFileSync(folderLocation + match[0]);
let raw = rawdata.toString("utf-8");
let str = JSON.stringify(raw);
let result = JSON.parse(str);
console.log(result[0].description);
}
}
}
}
}
函数parseAndGetVal(){
常数fs=要求(“fs”);
让folderLocation=“jsonReports/report/nf/”;
让测试结果=[
[“文件名”、“说明”、“帮助”、“帮助URL”、“ID”、“影响”]
];
fs.readdir(folderLocation,(err,files)=>{
如果(文件!==null){
const len=files.length;
for(设i=0;ilet str = JSON.stringify(raw);
改为这样做:
let rawdata = fs.readFileSync(folderLocation + match[0]);
let raw = rawdata.toString("utf-8"); // raw bytes => string
let result = JSON.parse(raw); // string => JSON
如果您的JSON格式不正确,您将遇到其他人提到的语法错误如果这确实是文件的内容,JSON格式不正确:`“html”:“”“impact”:“Severy”`@RandyCasburn很抱歉这是复制粘贴问题,我已更新了JSON字符串