2016-05-31 131 views
0

我有這樣的JSON字符串:爲什麼我不能解析與JSON.parse這個JSON字符串()

[{'Datum': 1465689600, 'Anwesend': false},{'Datum': 1465603200, 'Anwesend': false},{'Datum': 1465516800, 'Anwesend': false},{'Datum': 1465430400, 'Anwesend': false},{'Datum': 1465344000, 'Anwesend': false},{'Datum': 1465257600, 'Anwesend': false},{'Datum': 1465171200, 'Anwesend': false}] 

,我想,解析字符串。我想:

var res = $.parseJSON(anwesendstr); 

和:

var res = JSON.parse(anwesendstr); 

但每次我得到一個:

SyntaxError: Unexpected token ' in JSON at position 2 

異常

我能有人幫我解決這個問題?

+0

當您收到此類錯誤時,這意味着您的「JSON」無效。類似於在編程語言中獲取語法錯誤。 –

+1

交互式測試JSON的簡單方法是使用站點或工具來格式化或美化JSON文本。一個示例站點是:https://jsonformatter.curiousconcept.com/通過將JSON複製並粘貼到此站點或其他類似工具中,您將很快看到您的JSON格式不正確,與您包含的代碼無關你上面的例子。 – dmarietta

回答

6

在JSON中,字符串和對象屬性名稱必須用雙引號引起來。你的字符串用單引號括起來。更改爲:

[{"Datum": 1465689600, "Anwesend": false},{"Datum": 1465603200, "Anwesend": false},{"Datum": 1465516800, "Anwesend": false},{"Datum": 1465430400, "Anwesend": false},{"Datum": 1465344000, "Anwesend": false},{"Datum": 1465257600, "Anwesend": false},{"Datum": 1465171200, "Anwesend": false}] 

它會工作。

您應該使用庫函數來創建JSON,而不是在代碼中手工構建JSON,以避免像這樣的問題。庫也將正確地轉義JSON中的嵌入式引號和斜線。

相關問題