Jquery: перебор вложенного JSON с уникальными именами ключей - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть большой список объектов внутри JSON, например:

  var data = {
    4eae1aa12efa83745d00000b: {
        location: "office",
        latLong: [
            40.7069546, -74.0094471
        ],
    },
    4eae1aa12efa83745d000000: {
        location: "home",
        latLong: [
            42.3584308, -71.0597732
        ]
    }
  };

Где ключ стиля 4eae1aa12efa83745d00000b является случайным.Как выполнить итерацию по JSON для печати местоположения и массива latLong каждого вложенного объекта JSON?

Я пытался:

$.each(data, function() {
      $.each(this, function() {

        console.log(this.location);

      });
});

, но это ничего не возвращает

Ответы [ 3 ]

1 голос
/ 28 ноября 2011

Ваша единственная проблема в том, что вам не нужен внутренний цикл.

$.each(data, function(id, value) {
    console.log(value.location);
});
1 голос
/ 28 ноября 2011

Вы должны найти функцию $. Map , чтобы перевести элементы в вашем объекте / массиве - перейдите к чему-то вроде этого:

$.map(data, function(val, i){

    console.log(val.location);
    console.log(val.latLong[1]);
    console.log(val.latLong[2]);

})

Я верю, что это то, что вы ищете в любом случае.

0 голосов
/ 28 ноября 2011

Вы пытаетесь зациклить свойства объекта.Для этого:

for(var prop in obj) {
    if(obj.hasOwnProperty(prop))
        // do something with obj[prop].latLng
}

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...