使用JSON.parse评估Javascript数据结构时出错

时间:2017-04-08 01:06:06

标签: javascript jquery json dictionary

我将以下内容存储为javascript变量:

"{'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嵌套投票字典有关, 但是当我独立评估这样的嵌套语句时,我没有遇到任何问题。

在评估此声明时,如何保留嵌套投票选项卡?

2 个答案:

答案 0 :(得分:1)

您必须在JSON字符串中使用双引号。除此之外,它应该没有问题进行解析。

答案 1 :(得分:0)

尝试创建有效的json:

{
"Headings": [{
    "name": "Behavior",
    "majorTopic": "N",
    "vote": {
        "down": 1,
        "up": 1
    }
}, {
    "name": "Brain Mapping",
    "majorTopic": "N"
}, {
    "name": "Evoked Potentials",
    "majorTopic": "N"
}]
}