2013-10-17 120 views
0

我試圖解析這個文本從服務器意外的標記JSON.parse

var s = "{\"server\":DSL01,\"item\":101,\"data\":[[1357849366000,null],[1357849485000,null]}"; 
JSON.parse(s); 

未來在控制檯中我得到以下錯誤, 意外標記d

我需要將其轉換成JSON對象。

+1

這是一個JSON字符串。你的意思是你想要一個JavaScript對象。如果它沒有通過[JSONLint](http://jsonlint.com/),它可能不是有效的JSON。 – tadman

回答

3

因爲DSL01應該是一個字符串,因此包裹在""

"{\"server\":\"DSL01\",\" 

此外,您在最後一部分缺乏],關閉data陣列。

我建議你編程創建你的JSON而不是手工製作它。這樣,你不會犯這樣的錯誤。

+0

我現在無法將其作爲字符串。這是服務器返回的內容。任何選擇? – lostpacket

+3

您的服務器正在返回垃圾。如果你無法修復服務器,那麼在'JSON.parse'可以處理它之前,你必須手動修復並手動修復它。 – tadman

+0

@lostpacket你不能通過吹更多的空氣來修理爆胎。修復服務器以解決此問題。 – Joseph