Как мне разобрать JSON как geo: point? - PullRequest
3 голосов
/ 31 октября 2010

Я пытаюсь проанализировать ответ JSON, используя jquery из last.fm и получая значения долготы и широты.Часть JSON, которая содержит эти значения, выглядит следующим образом:

"location":{"geo:point":{"geo:lat":"58.409901","geo:long":"15.563306"}

Код, который я получил, выглядит так:

$.getJSON("http://ws.audioscrobbler.com/2.0/?method=artist.getevents&artist=familjen&api_key=xformat=json&callback=?",
 function(data){
  $.each(data.events.event, function(i,item){
   $("#menucontent").append("<br/>"+item.title + " " + item.venue.location.geo:point.geo:lat);
        });
});

Очевидно, что часть "item.venue.location.geo:point.geo: lat "не работает.Как я могу получить эти значения с ":"?

1 Ответ

6 голосов
/ 31 октября 2010

Вы можете использовать скобочное обозначение , когда идентификаторы не могут быть выражены в точечное обозначение , это будет выглядеть так:

item.venue.location["geo:point"]["geo:lat"]

Для иллюстрации, все это способы доступа к одной и той же вещи:

obj.thing.prop
obj.thing["prop"]
obj["thing"]["prop"]
obj["thing"].prop
...