2017-04-08 80 views
1

我有以下的存儲爲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, 但嵌套當我評價一個嵌套的聲明像這樣獨立,我沒有得到任何問題。

如何在評估此聲明時保留嵌套投票選項卡?

+1

您的JSON沒有從http://jsonlint.com/通過驗證測試 – jrook

回答

1

你必須在你的JSON字符串中使用雙引號。除此之外,它是好的,應該解析沒有問題。

0

嘗試創建一個有效的JSON:

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