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

时间:2017-06-05 09:44:46

标签: javascript arrays json string stringify

我有这个示例代码:

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/

似乎我无法解析&记录数据。

为什么会发生这种情况?

2 个答案:

答案 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'}]`}]