2012-10-07 55 views
0

解析JSON返回我不能解析此JSON:不能由OpenStreetMap的

var _json = [{"place_id":"18094048","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"node","osm_id":"1695627257","boundingbox":[34.549406280518,34.569410095215,135.45611022949,135.47612548828],"lat":"34.5594098","lon":"135.4661246","display_name":"Singapore Embassy, \u583a\u72ed\u5c71\u7dda (Sakai-Sayama line), Sakai, Senboku District, Kinki Region, Giappone","class":"amenity","type":"embassy"}, 

"place_id":"17954461","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"node","osm_id":"1695740584","boundingbox": 

[35.647695770264,35.667699584961,139.72419189453,139.74420715332],"lat":"35.6576973","lon":"139.7341957","display_name":"Singapore Embassy, Gaien higashi dori, Roppongi, Minato, \u5317\u8db3\u7acb\u90e1, 1080074, Giappone","class":"amenity","type":"embassy"}] 

我想JSON.parse(_json);它在控制檯返回: 語法錯誤:JSON.parse:意外的字符

console.log(JSON.parse(_json)); 

我需要lat & long值。

+0

嘗試'的console.log(_json );'看看你得到了什麼。 – xdazz

回答

3

嗯,這不是一個JSON字符串

它只是一個JS數組對象

您可以簡單地使用它這樣的:

for(var i = 0 ; i < _json.length ; i++){ 
    var jsonObject = _json[i]; 

    // then just use jsonObject['lat'] , jsonObject['license'] .....etc 
} 
1

您的變化_json不是JSON:這是一個標準的javascript數組,您可以不經過分析就使用它。

如果你想第一個緯度,根本就

var lat = _json[0].lat; 

但是我建議給一個更好的名字比_json,例如places因爲這個數組包含場所。

var firstPlace = _json[0]; // firstPlace has properties named lat and lon