Foreach для массива JSON, синтаксис
my script получает некоторый массив со стороны сервера php script.
result = jQuery.parseJSON(result);
теперь я хочу проверить каждую переменную массива.
if (result.a!='') { something.... }
if (result.b!='') { something.... }
....
Есть ли лучший способ сделать это быстро, как в php 'foreach', 'while' или smth?
UPDATE
Этот код (благодаря hvgotcodes) дает мне значения переменных внутри массива, но как я могу получить имена переменных также?
for(var k in result) {
alert(result[k]);
}
ОБНОВЛЕНИЕ 2
Так работает php
$json = json_encode(array("a" => "test", "b" => "test", "c" => "test", "d" => "test"));
Ответы
Ответ 1
Вы можете сделать что-то вроде
for(var k in result) {
console.log(k, result[k]);
}
который перебирает все ключи в возвращаемом json и печатает значения. Однако, если у вас есть вложенная структура, вам нужно будет использовать
typeof result[k] === "object"
чтобы определить, нужно ли вам перебирать вложенные объекты. Большинство API-интерфейсов, которые я использовал, разработчики знают структуру того, что возвращается, поэтому это не нужно. Однако я полагаю, что это ожидание не подходит для всех случаев.
Ответ 2
Попробуйте следующее:
$.each(result,function(index, value){
console.log('My array has at position ' + index + ', this value: ' + value);
});
Ответ 3
Конечно, вы можете использовать JS foreach.
for (var k in result) {
something(result[k])
}
Ответ 4
Вы можете использовать метод.forEach() JavaScript для циклирования через JSON.
var datesBooking = [
{"date": "04\/24\/2018"},
{"date": "04\/25\/2018"}
];
datesBooking.forEach(function(data, index) {
console.log(data);
});