2014-11-02 2 views
0

Я пытаюсь получить список мест из API Foursquare. Пока все хорошо, но я ударил стену, которую я не могу понять. Надеюсь, у кого-то здесь может быть хорошая идея.Получить объект из массива внутри массива

В списке, который я сейчас показываю, показаны типы мест из списка forsquare, а затем он разбивает имя каждого места и lat/lng. Проблема, с которой я сталкиваюсь, - получить категорию из четырех. Категория хранится внутри другого массива внутри массива для места проведения.

Вот то, что я до сих пор:

function app(info) { 
    $('#content').append(info); 
} 

function getinfo(venueAPI) { 
    $.getJSON(venueAPI, function (data) { 
      var arr = []; 
      var venuearr = []; 
       $('#content').empty(); 
       console.log(data); 
       b = '<br/>'; 
       categoryArr = data.response.list.categories.items; 
       categoryArrLength = data.response.list.categories.items.length; 
       console.log(categoryArr); 
       console.log(categoryArrLength); 
       for (var x = 0; x < categoryArrLength; x++) { 
                 app(categoryArr[x].category.pluralName + b); 
                } 
       arr = data.response.list.listItems; 
       venuearr = arr.items; 

       console.log(venuearr); 

       for (var i = 0; i < venuearr.length; i++) { 
                ltlng = L.latLng(venuearr[i].venue.location.lat, venuearr[i].venue.location.lng); 
                $('#content').append(ltlng + b); 
                app(venuearr[i].venue.name + b); 

       } 
    }); 
    getinfo(); 
} 

который возвращает JSON, как это для каждого места:

"venue": { 
          "id": "51db2eca498e76d75a5dfea2", 
          "name": "A Gathering Of Stitches", 
          "contact": {}, 
          "location": { 
           "address": "54 Cove St", 
           "lat": 43.66797, 
           "lng": -70.256453, 
           "cc": "US", 
           "city": "Portland", 
           "state": "ME", 
           "country": "United States", 
           "formattedAddress": [ 
            "54 Cove St", 
            "Portland, ME" 
           ] 
          }, 
          "categories": [ 
           { 
            "id": "4bf58dd8d48988d1f4941735", 
            "name": "Design Studio", 
            "pluralName": "Design Studios", 
            "shortName": "Design", 
            "icon": { 
             "prefix": "https://ss3.4sqi.net/img/categories_v2/shops/design_", 
             "suffix": ".png" 
            }, 
            "primary": true 
           } 
          ], 

и это то, что получить напечатано на экране:

Pubs 
Thrift/Vintage Stores 
Design Studios 
Coffee Shops 
LatLng(43.6565, -70.25313) 
Bull Feeney's 
LatLng(43.65697, -70.25081) 
Andy's Old Port Pub 
LatLng(43.6571, -70.25713) 
Arabica Coffee 
LatLng(43.66797, -70.25645) 
A Gathering Of Stitches 
LatLng(43.65687, -70.25763) 
Find 

Я пробовал несколько разных идей, но пока ничего не работало.

+0

действительно не ясно, что ваш вопрос – charlietfl

+0

Я пытаюсь получить «имя» из категории массива. Например, Bull Feeny's - это паб, Arabica Coffee - это кафе и т. Д. –

ответ

1
venue.categories[0].name; 

скрипку: http://jsfiddle.net/18kfrek5/

+0

Клянусь, я пробовал это, и это не сработало, но я просто попробовал еще раз, и это сработало. Благодаря :) –