2012-04-05 5 views
0

Я использовалКак Петля Через JavaScript Object

console.log(response); 

и получил следующее в консоли (в Firebug). Как выполнить цикл, чтобы проверить, существует ли «LMNOPQ»?

data  [Object { name="Excel in ABCD", category="Book", id="327361517327399", more...}, Object { name="LMNOPQ", category="Product/service", id="175625882542984", more...}, Object { name="UVWXYZ", category="Book", id="260641707360118", more...}, 7 more...] 
      0  Object { name="Excel in ABCD", category="Book", id="327361517327399", more...} 
      category  "Book" 
      created_time  "2012-04-04T05:31:04+0000" 
      id  "327361517327399" 
      name  "Excel in ABCD" 
      1  Object { name="LMNOPQ", category="Product/service", id="175625882542984", more...} 
      2  
Object { name="UVWXYZ", category="Book", id="260641707360118", more...} 

Тогда как предложил Батист Пернет, я попытался следующие:

for(var i in response) { 
    console.log(response[i].name);//gives me undefined 
    console.log(response[i]);//gives me another object (it is nested, check below) 
} 

[Object {имя = "Excel в ABCD", категория = "Книга", ID = "327361517327399" , подробнее ...}, Object {name = "LMNOPQ", category = "Product/service", id = "175625882542984", more ...}, Object {name = "UVWXYZ", category = "Book ", id =" 260641707360118 ", подробнее ...},

Как мне получить это имя сейчас? Я застрял в:

console.log(response[i]); 

Что мне написать, чтобы получить свойства вложенных объектов? Другой цикл?

+0

Вы можете использовать библиотеку 'jsonpath' – kirilloid

+0

Дайте нам URL-адрес jsonp, пожалуйста, – mplungjan

ответ

2

Чтобы визуализировать результат, попробуйте использовать JSON.stringify(response), а затем this site. Это гораздо более стандартный формат, чем формат, который вы предоставляете.

Из того, что вы дали, кажется, что у вас есть член под названием data, содержащий массив (опять же, я не уверен, потому что вы не предоставили хороший формат для описания вашего javascript-объекта).

Так давайте попробуем

for(var i in response.data) { 
    if (response.data[i].name == 'LMOPQ') { 
    return true 
    } 
} 

return false; 
+0

nice .... но разве это не странный синтаксис? 'data [Object {' что там делает Object Object? –

+0

Я думаю, что это консольный журнал FF, он говорит, что это массив данных объекта [Object {...}, Object {...}, ...] –

+0

yes Baptiste Pernet, его журнал консоли FF. Я попробую это и вернусь – practitioner

-1

вы можете использовать

for (var prop in Object) { 
    if(prop == "LMNOPQ") { 
     // Do something 
    } 
} 

или вы можете использовать if(response[like].hasOwnProperty("LMNOPQ")) в качестве альтернативы.

+0

Ну, я собираю facebook, который нравится пользователю, который уже аутентифицировал нас и проверяет, существует ли в нем моя страница. – practitioner

+0

FB.api ('/ меня/любит, функция (ответ) { \t для (вар я в ответ [как]) { \t \t console.log (ответ [как] [I] .name); \t} \t }); – practitioner

+0

очень жаль путаницы, это было просто console.log (ответ); который изначально записывал все, что я упоминал в моем вопросе. – practitioner

Смежные вопросы