我有这个示例代码:
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/
似乎我无法解析&记录数据。
为什么会发生这种情况?
答案 0 :(得分:1)
您的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);

答案 1 :(得分:0)
我认为问题是JSON对象的字段应该用双引号括起来。 例如。
let testData = [{name:'Joshua',age:22,option:`[{"value":'test'}]`},{name:'Ali',age:200,option:`[{"value":'test2'}]`}]