2017-07-18 40 views
0

因此,收到我的迴應後,我不斷收到解析錯誤。有沒有非法字符?JSON.parse中不允許使用什麼字符?

這裏是響應

[{"businessID": ChIJ49DlQ5NiwokRQ_noyKqlchQ,"latitude": 40.733038,"longitude":-73.6840691,"address":"1201 
Jericho Turnpike, New Hyde Park","businessname":"SUBWAY®Restaurants"},{"businessID": ChIJZfl6R5NiwokRZo7PU4NPoMY 
,"latitude": 40.7329359,"longitude":-73.684513,"address":"1113 Jericho Turnpike, New Hyde Park","businessname" 
:"Gino's"},{"businessID": ChIJcbpnRJNiwokRrtbOKe7HQo0,"latitude": 40.733049,"longitude":-73.684006,"address" 
:"1203 Jericho Turnpike, New Hyde Park","businessname":"Wong's Garden"},] 

這裏是我的功能是處理響應。我知道肯定它的提前警報,因爲警報沒有被觸發

var datad = $(msg).text(); 
    console.log(datad); 
    var resultstring = datad.replace(',]',']'); 
    var JsonParseData = JSON.parse(resultstring); 
     alert(JsonParseData); ///BREAKING BEFORE THIS LINE 
+2

雙引號在對象中的businessID的值 –

+1

還有一個尾隨逗號 –

+0

@AnthonySottile Im刪除逗號在行.... var resultstring = datad.replace(',]',']'); – Carlitos

回答

4

幾個錯誤。

  1. 需要在雙引號中輸入字符串(")。更換"businessID": ChIJ49DlQ5NiwokRQ_noyKqlchQ"businessID":"ChIJ49DlQ5NiwokRQ_noyKqlchQ"

  2. 在下面一行的末尾"businessname":"Wong's Garden"},]

2

JSON的鍵值需要有引號刪除,。你必須在JSON數據更少的報價,最後你有一個更逗號和一個更回車

這樣是正確的:

[{"businessID":"ChIJ49DlQ5NiwokRQ_noyKqlchQ","latitude":"40.733038","longitude":"-73.6840691","address":"1201 Jericho Turnpike, New Hyde Park","businessname":"SUBWAY®Restaurants"},{"businessID":"ChIJZfl6R5NiwokRZo7PU4NPoMY","latitude":"40.7329359","longitude":"-73.684513","address":"1113 Jericho Turnpike, New Hyde Park","businessname":"Gino's"},{"businessID":"ChIJcbpnRJNiwokRrtbOKe7HQo0","latitude":"40.733049","longitude":"-73.684006","address":"1203 Jericho Turnpike, New Hyde Park","businessname":"Wong's Garden"}]

+1

爲什麼你把數字放在引號中? – ajb

+0

oo,對不起,數字不需要引號 – vincenth520

1

你的反應是有兩個原因的無效JSON格式:

  • 的 「businessID」 的值需要加上引號。
  • JSON的最後一個對象(您的替換字符串函數修復此問題)後不應該有逗號。

,我建議你使用這個JSON工具包:

相關問題