【发布时间】:2020-06-17 15:11:32
【问题描述】:
我有这个对象:
let startCourseData = {
'slidesHistory': '[{ id: 1, difficulty: 4, performance: 100, guided_phrases: [], sequence: "A", plan: false, planned: 10 },{ id: 2, difficulty: 4, performance: 30, guided_phrases: [], sequence: "A", plan: false, planned: 0 },{ id: 3, difficulty: 4, performance: 60, guided_phrases: [], sequence: "A", plan: false, planned: 6 },{ id: 4, difficulty: 4, performance: 80, guided_phrases: [], sequence: "B", plan: false, planned: 5 },{ id: 5, difficulty: 4, performance: 80, guided_phrases: [], sequence: "B", plan: false, planned: 6 },{ id: 6, difficulty: 4, performance: 82, guided_phrases: [], sequence: "A", plan: false, planned: 10 },{ id: 7, difficulty: 4, performance: 90, guided_phrases: [], sequence: "C", plan: false, planned: 9 },{ id: 8, difficulty: 4, performance: 90, guided_phrases: [], sequence: "C", plan: false, planned: 8 },{ id: 9, difficulty: 4, performance: 90, guided_phrases: [], sequence: "B", plan: false, planned: 5 },];'
};
我想将 slidesHistory 转换为一个数组,所以我像这样使用 JSON.parse:
const slidesHistorys = JSON.parse(startCourseData.slidesHistory);
console.log(slidesHistorys);
但是我得到一个错误!
Uncaught SyntaxError: 位置 3 处 JSON 中的意外标记 i
我该如何解决这个问题?
【问题讨论】:
-
您的密钥没有双引号,例如
"id: 1"或简而言之它不是ECMA-404 符合 -
为什么要使用字符串?
-
您的 JSON 无效。我不确定您为什么要以这种方式存储它,但我建议修复编码。
-
数组中对象的键应该有这样的双引号:
[{ "id": 1, "difficulty": 4, ....}] -
我想将
slidesHistory作为字符串存储到数据库中。这不是一个好主意吗...??
标签: javascript