ад, видя, как все это повторяя, что мы ищем id в действии.
Как @RoyMcCrosan сказал, что ваше значение данных - это массив, однако ваша переменная myJson
является объектом. То, что вы делаете, - это цикл через массив, который помещает каждую ячейку в этот массив в переменную myJson
(вот важный бит), перезаписывая значение перед ним. Таким образом, вы получаете только последнее значение в массиве.
Теперь, не зная, что вы хотите делать с данными, которые мы не можем сказать, что вы должны сделать, но вот несколько общих случаев ив приходилось делать:
Если вы хотите, чтобы просто скопировать данные и работы с ним еще где, как массив просто лома $.each
var myJson = [];
$.getJSON(url, function(data) {
myJson = data;
console.log(myJson);
});
Если вы хотите отобразить данные в конечном итоге с массивом, но в другом формате:
var myJson = [];
$.getJSON(url, function(data) {
myJson = data.map(function (d) {
return {}; //Some modified object
});
console.log(myJson);
});
Если вы хотите итерировать массив и извлечь свойство из каждого объекта, чтобы добавить к вам myJson
variable;
var myJson = {};
$.getJSON(url, function(data) {
data.forEach(function (d) {
//Some logic for figuring property name.
var i = 'FieldName';
myJson[i] = d[i];
});
console.log(myJson);
});
Наконец, как data
представляет собой массив, используя собственные методы, такие как зацикливание .forEach
или for
петлю. Они будут быстрее, чем $.each
. Также технически myJson
не является JSON своим объектом JavaScript в своем собственном праве.
Это потому, что вы переписываете переменную 'myJson' на каждой итерации. Ваш 'console.log' будет показывать только * последний элемент * в массиве. Работайте с каждым объектом * внутри * цикла '.each'. –
@adin Что именно вы пытаетесь сделать с помощью 'myJson', если вы просто хотите скопировать полученные данные, тогда вам не нужно использовать' each'. Являются ли полученные данные массивом и вы хотите сопоставить его с объектом? – ste2425
Ваша конечная точка возвращает только один объект, также похоже, что вы должны получать доступ к 'feild', а не' data' из вашего 'each' - http://jsfiddle.net/5jwotwg7/1/ – Und3rTow