无法解析数组中的字符串化数组

Unable to parse stringified array within an array

我有这个示例代码:

let testData= [{name:'Joshua',age:22,option:"[{value:'test'}]"},{name:'Ali',age:200,option:"[{value:'test2'}]"}]

let parsedData=JSON.parse(testData[0].option);
console.log(parsedData);

正在使用此站点测试我的代码:https://es6console.com/

看来我根本无法解析和记录数据。

知道为什么会这样吗?

我认为问题是 JSON 对象的字段应该用双引号引起来。 例如。

let testData = [{name:'Joshua',age:22,option:`[{"value":'test'}]`},{name:'Ali',age:200,option:`[{"value":'test2'}]`}]

您的 option 字符串不符合 JSON 规范:在 JSON 中,每个键和字符串值都需要包含在 double 中引号。所以这会起作用:

let testData= [{
    name: 'Joshua',
    age: 22,
    option: '[{"value": "test"}]'
}, {
    name: 'Ali',
    age: 200,
    option: '[{"value": "test2"}]'
}];

let parsedData = JSON.parse(testData[0].option);
console.log(parsedData);