2017-06-18 59 views
0

對象我想下面的字符串轉換爲數組如何將JSON字符串轉換成數組與

[{id: "1", type: "railroadCrossingSign", latitude: "55.647432", longtitude: "12.187673"}, {id: "2", type: "stationSign", latitude: "55.647444", longtitude: "12.187545"}] 

當我JSON.parse()不幸發生錯誤,可能是因爲該字符串中的對象...

如何轉換JSON字符串與對象與對象的數組

回答

1

爲了達到你想要什麼。 您的JSON鍵值對也必須爲字符串格式。
說,

var obj = '[{ 
    "key" : "value" 
}]'; 

最後,當你使用:

var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}'); 
document.getElementById("demo").innerHTML = obj.name + ", " + obj.age; 

會得到以下結果:

約翰,30

5

JSON格式要求您的密鑰也必須包裝成""

var string = '[{"id": "1", "type": "railroadCrossingSign", "latitude": "55.647432", "longtitude": "12.187673"}, {"id": "2", "type": "stationSign", "latitude": "55.647444", "longtitude": "12.187545"}]'; 
 

 
var arr = JSON.parse(string); 
 

 
console.log(arr);

0

一些意見:

  • 首先確保您的JSON應該是有效的JSON。
  • 對象屬性應該包含在引號中""

enter image description here

  • 如果您JSON已經是一個JSON Object那麼沒有必要parse再次否則會拋出一個錯誤。

var jsonObj = [{ 
 
\t "id": "1", 
 
\t "type": "railroadCrossingSign", 
 
\t "latitude": "55.647432", 
 
\t "longtitude": "12.187673" 
 
}, { 
 
\t "id": "2", 
 
\t "type": "stationSign", 
 
\t "latitude": "55.647444", 
 
\t "longtitude": "12.187545" 
 
}]; 
 

 
var newObj = JSON.parse(jsonObj); 
 

 
console.log(newObj); // Error : Uncaught SyntaxError: Unexpected token o in JSON at position 1