2011-09-19 89 views
1

我是JSON的新手如何使用jquery或javascript獲取JSON中的對象

如何將下列數據顯示到html中。對於示例,我想顯示'西南''lat'和'lng',或者我想顯示'文本'。

{ 「路線」:[{ 「邊界」:{ 「東北」:{ 「LAT」:-26.758340, 「LNG」:153.035930 }, 「西南」:{ 「LAT」:-27.454070, 「LNG」:152.852150 }} , 「版權」: 「©2011 GBRMPA,谷歌,Whereis(R), Sensis的私人有限公司地圖數據」, 「腿」: 「距離」{ 「文本」: 「89.7公里」, 「值」:89693 }, 「持續時間」:{ 「文本」: 「1小時17分鐘」, 「值」:4633 }, 「END_ADDRESS」 : 「馬萊尼QLD 4552,澳大利亞」, 「END_LOCATION」:{ 「LAT」:-26.758420, 「LNG」:152.852150 }, 「START_ADDRESS」: 「布里斯班昆士蘭,澳大利亞」, 「START_LOCATION」:{ 「lat」:-27.454070, 「lng」:153.026880 }, } ], } ]}

乾杯!

回答

3

正如Georgi所說,使用$.parseJSON(data)

然後,訪問latlng屬性,可以使用點符號:

var data = ''; // json string here 
var jsonObject = $.parseJSON(data); 
var lat = jsonObject.routes[0].bounds.northeast.lat; 
var lng = jsonObject.routes[0].bounds.northeast.lng; 

因爲routes是一個數組對象,我們使用規則陣列元素訪問([])來訪問所述第一元件(0)。

3

假設數據是你的json,你可以使用$ .parseJSON(data)來獲取對象。
順便說一句,在你的例子中的json是無效的 - 你在結尾附近有兩個額外的昏迷。下面是使用有效json的示例:

var data = '{ "routes" : [ { "bounds" : { "northeast" : { "lat" : -26.758340, "lng" : 153.035930 }, "southwest" : { "lat" : -27.454070, "lng" : 152.852150 } }, "copyrights" : "Map data ©2011 GBRMPA, Google, Whereis(R), Sensis Pty Ltd", "legs" : [ { "distance" : { "text" : "89.7 km", "value" : 89693 }, "duration" : { "text" : "1 hour 17 mins", "value" : 4633 }, "end_address" : "Maleny QLD 4552, Australia", "end_location" : { "lat" : -26.758420, "lng" : 152.852150 }, "start_address" : "Brisbane QLD, Australia", "start_location" : { "lat" : -27.454070, "lng" : 153.026880 } } ] } ] }'; 
var routes = $.parseJSON(data).routes; 

現在路由是路由對象的javascript數組。例如routes[0].copyrights返回「地圖數據©2011 GBRMPA,Google,Whereis(R),Sensis Pty Ltd」。希望這可以幫助!

0

有可能是你的JSON字符串已經被解析,可以從一個Ajax服務中獲得一個JSON對象,如果你那麼想一定JSON對象或子對象的值,你可以把它拿來這樣的:

var data = {here goes your whole json object you have above...}; 
var southwestLong = data.routes[0].bounds.southwest.lng; 

基本上,解析被遺漏了,因爲它已經作爲json對象出現了。

但在大多數情況下,您將編寫一些循環遍歷所有路由對象的循環,以便將它們呈現在列表中。

此外,我建議您測試一個特定的項目進行定義。因爲如果你傳入一個改變了的json對象,例如它有0個路由,上面的代碼會出錯,因爲data.routes[0]不存在。

相關問題