2016-01-21 3 views
1
$.getJSON("hello.txt", function(json) { 
    console.log(json); 
    alert(json.rgInventory[2].id); 
}); 

Используя следующий код, я пытаюсь разобрать информацию JSON из файла hello.txt и отобразить его. Поскольку вы можете видеть гостиницу, изображение под кодом правильно распознает информацию JSON, но при попытке распечатать идентификатор из третьего элемента это объект rgInventory, он говорит undefined.Проблемы с анализом JSON undefined

enter image description here

Существует много объектов внутри этого с информацией и все они имеют идентификатор. Данные JSON, с которыми я работаю, доступны здесь: http://steamcommunity.com/id/flaangvik/inventory/json/730/2

+1

Пожалуйста, выкладываю JSON возвращается в запросе. –

+0

попробуйте console.log (json.rgInventory); –

+0

Это json -> http://steamcommunity.com/id/flaangvik/inventory/json/730/2 –

ответ

1

Проблема в том, что в ответе JSON rgInventory - это объект, а не массив.

Я пытаюсь петля до конца и получить идентификатор от каждого объекта внутри этого объекта

В этом случае вам нужно перебирать объект. Попробуйте это:

$.getJSON("hello.txt", function(json) { 
    $.each(json.rgInventory, function(key, obj) { 
     console.log(obj); 
     var id = obj.id; 
     // work with each object here... 
    }) 
}); 
+0

Спасибо, измените «foo» на «json» и отлично работали! :) –

0

Попробуйте этот код: -

$(json.rgInventory).each(function(key, value){ 
    console.log(value); 
    // Do your code here 
}); 
0

По возвращению JSON, свойство rgInventory от возвращения является объектом вместо массива. Возможно, вам потребуется получить доступ к дочернему элементу с помощью хеш-ключа вместо номера индекса.

JSON:

{"success":true,"rgInventory":{"4847011145":{"id":"4847011145","classid":"506870401","instanceid":"188530398","amount":"1","pos":1},"4846997498":{"id":"4846997498","classid":"653322524","instanceid":"188530248","amount":"1","pos":2},... 

Вы должны написать:

$.getJSON("hello.txt", function(json) { 
alert(json.rgInventory["4847011145"].id); 
} 
Смежные вопросы