2013-08-05 221 views
1

字符串JSON.parse語法問題我有一個簡單的字符串,其被構造是這樣的:在陣列結構

[[Home],[685,300],[800,380],[685,300],[Home]] 

基本上其座標的陣列,以產生路徑。使用Home是因爲它根據用戶在地圖上的位置而變化。

我面臨的問題是當我將它從PHP傳遞給JS。

我json_encode的數據,並通過它跨越這樣的:

[{"path":"[[Home],[685,300],[800,380],[685,300],[Home]]","id":"1"}] 

然後創建我的對象上,after我JSON.parse:

paths = {}; 
for(var i in data){  
    paths[data[i].id] = {} 
    paths[data[i].id].path = data[i].path; 
} 

問題是data[i].path目前還只是一個字符串,而不是一個可用的數組。於是,我就添加輔助JSON.parse字符串變成一個可用的數組是這樣的:

paths[data[i].id].path = JSON.parse(data[i].path); 

但是這會導致:

Unexpected token H 

H顯然從Home,我把未來該數組,所以我想知道我能做些什麼將其轉換爲可用數組?

回答

2

您的字符串無效JSON。 Home將是該名稱的JavaScript標識符。 "Home"是一個字符串。引號缺失。

+0

啊該死!我試過單引號,但沒有嘗試雙引號xD謝謝@Jan! – Sir