错误评估使用JSON.parse
问题描述:
我有以下的存储为JavaScript变量的Javascript数据结构:错误评估使用JSON.parse
"{'Headings':
[{'name': 'Behavior', 'majorTopic': 'N', 'vote': {'down': 1, 'up': 1}},
{'name': 'Brain Mapping', 'majorTopic': 'N'},
{'name': 'Evoked Potentials', 'majorTopic': 'N'}
]}"
,使得变量的类型是一个字符串。 我试图评价字符串用来得到一个字典这样的:
{"headings":[{"name":behavior,'majorTopic':"N", 'vote':{'down':1,'up':1}}]}
但是,当我试图使用eval(变量)或JSON.parse(变量),我得到的错误:
Uncaught SyntaxError: Unexpected token :
at eval For eval
和
VM529:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>)` For the JSON.parse function.
我相信错误涉及到投票字典,upvotes和downvotes, 但嵌套当我评价一个嵌套的声明像这样独立,我没有得到任何问题。
如何在评估此声明时保留嵌套投票选项卡?
答
你必须在你的JSON字符串中使用双引号。除此之外,它是好的,应该解析没有问题。
答
尝试创建一个有效的JSON:
{
"Headings": [{
"name": "Behavior",
"majorTopic": "N",
"vote": {
"down": 1,
"up": 1
}
}, {
"name": "Brain Mapping",
"majorTopic": "N"
}, {
"name": "Evoked Potentials",
"majorTopic": "N"
}]
}
您的JSON没有从http://jsonlint.com/通过验证测试 – jrook