Javascript JSON.Parse()无法正确检索JSON数组的值

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”:“颜色对比度”, “影响”:“严重” } ] 下面

我必须读取一个包含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;i这行代码是错误的。您应该直接从字符串解析JSON,而不是字符串的JSON字符串化版本

let 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字符串