В jquery полный ноль, прошу прощения за возможно нелепый вопрос.
Есть такой json:
{ "success": true,
"data": {
"fructs": [{
"a": 53.8977737,
"b": 27.5517273,
"angle": 0,
"mark": "Яблоко",
"color": "Красный",
"bbbb": 0,
"zree": 40,
"discount": 0,
"multiplier": 1
},
{
"a": 52.9775352,
"b": 36.102005,
"angle": 220,
"test": "ccc",
"mark": "Вишня",
"color": "",
"bbbb": 0,
"zree": 60,
"discount": 0,
"multiplier": 1
},
{
"a": 55.7416407,
"b": 37.5990335,
"angle": 0,
"test": "рфффф",
"mark": "Вишня",
"color": "Черный",
"bbbb": 0,
"zree": 50,
"discount": 0,
"multiplier": null
},
{
"a": 55.7537043,
"b": 37.6306607,
"angle": 0,
"test": "фывыфвфывфы",
"mark": "Горох",
"color": "Белый",
"bbbb": 0,
"zree": 60,
"discount": 0,
"multiplier": null
},
{
"a": 55.7456493,
"b": 37.6358455,
"angle": 0,
"test": "фывфывф",
"mark": "Арбуз",
"color": "Красный",
"bbbb": 0,
"zree": 50,
"discount": 0,
"multiplier": null
},
{
"a": 55.7794533,
"b": 37.6291466,
"angle": 187,
"test": "x50",
"mark": "Яблоко",
"bbbbDistance": 475,
"color": "черный",
"bbbb": 38,
"zree": 40,
"discount": 0,
"multiplier": 1
},
{
"a": 55.7324982,
"b": 37.6640549,
"angle": 108,
"test": "x50",
"mark": "Яблоко",
"bbbbDistance": 537.5,
"color": "белый",
"bbbb": 43,
"zree": 40,
"discount": 0,
"multiplier": null
}]
}
}
Делаю так:
$.getJSON('fructs.json', function(data) {
$.each(data.fructs, function(a,b) {
$.each(a, function(index, obj) {
console.log(a,b)
});
});
});
Мне нужно взять только значения a, b из каждого элемента массива
Получаю ошибку
Uncaught TypeError: Cannot read property 'length' of undefined
Как взять нужные значения?
Лог:
jquery-latest.js:357 Uncaught TypeError: Cannot read property 'length' of undefined
at Function.each (jquery-latest.js:357)
at Object.success (map.html:28)
at fire (jquery-latest.js:3119)
at Object.fireWith [as resolveWith] (jquery-latest.js:3231)
at done (jquery-latest.js:9275)
at XMLHttpRequest.callback (jquery-latest.js:9685)
Ну вот ваша ошибка, вы делаете $.each(a, function(index, obj)
но ведь там a
это просто индекс, а не вложенный объект.
Вот пример кода с вашими данными.
var data = { "success": true,
"data": {
"fructs": [{
"a": 53.8977737,
"b": 27.5517273,
"angle": 0,
"mark": "Яблоко",
"color": "Красный",
"bbbb": 0,
"zree": 40,
"discount": 0,
"multiplier": 1
},
{
"a": 52.9775352,
"b": 36.102005,
"angle": 220,
"test": "ccc",
"mark": "Вишня",
"color": "",
"bbbb": 0,
"zree": 60,
"discount": 0,
"multiplier": 1
},
{
"a": 55.7416407,
"b": 37.5990335,
"angle": 0,
"test": "рфффф",
"mark": "Вишня",
"color": "Черный",
"bbbb": 0,
"zree": 50,
"discount": 0,
"multiplier": null
},
{
"a": 55.7537043,
"b": 37.6306607,
"angle": 0,
"test": "фывыфвфывфы",
"mark": "Горох",
"color": "Белый",
"bbbb": 0,
"zree": 60,
"discount": 0,
"multiplier": null
},
{
"a": 55.7456493,
"b": 37.6358455,
"angle": 0,
"test": "фывфывф",
"mark": "Арбуз",
"color": "Красный",
"bbbb": 0,
"zree": 50,
"discount": 0,
"multiplier": null
},
{
"a": 55.7794533,
"b": 37.6291466,
"angle": 187,
"test": "x50",
"mark": "Яблоко",
"bbbbDistance": 475,
"color": "черный",
"bbbb": 38,
"zree": 40,
"discount": 0,
"multiplier": 1
},
{
"a": 55.7324982,
"b": 37.6640549,
"angle": 108,
"test": "x50",
"mark": "Яблоко",
"bbbbDistance": 537.5,
"color": "белый",
"bbbb": 43,
"zree": 40,
"discount": 0,
"multiplier": null
}]
}
};
$(document).ready(function(){
$.each(data.data.fructs, function(a,b) {
$.each(b, function(key, val) {
if(key == 'a' || key == 'b'){
console.log(key,val);
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
А вот кусок кода который можете добавить в место вашего:
$.getJSON('fructs.json', function(data) {
$.each(data.fructs, function(a,b) {
$.each(b, function(key, val) {
if(key == 'a' || key == 'b'){
console.log(key,val);
}
});
});
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, в общем дали проект на версткуРуководитель вечно чем то недоволен, говорит опять говнокод пишешь
Скажите, пожалуйста,