Advertisement
Advertisement


foreach for JSON array , syntax


Question

my script is getting some array from php server side script.

result = jQuery.parseJSON(result);

now I want to check each variable of the array.

if (result.a!='') { something.... }
if (result.b!='') { something.... }
....

Is there any better way to make it quick like in php 'foreach' , 'while' or smth ?

UPDATE

This code ( thanks to hvgotcodes ) gives me values of variables inside the array but how can I get the names of variables also ?

for(var k in result) {
   alert(result[k]);
}

UPDATE 2

This is how php side works

$json = json_encode(array("a" => "test", "b" => "test",  "c" => "test", "d" => "test"));
2014/04/03
1
60
4/3/2014 11:05:19 AM

Accepted Answer

You can do something like

for(var k in result) {
   console.log(k, result[k]);
}

which loops over all the keys in the returned json and prints the values. However, if you have a nested structure, you will need to use

typeof result[k] === "object"

to determine if you have to loop over the nested objects. Most APIs I have used, the developers know the structure of what is being returned, so this is unnecessary. However, I suppose it's possible that this expectation is not good for all cases.

2011/10/05
110
10/5/2011 2:46:40 PM


Sure, you can use JS's foreach.

for (var k in result) {
  something(result[k])
}
2011/10/05

You can use the .forEach() method of JavaScript for looping through JSON.

var datesBooking = [
    {"date": "04\/24\/2018"},
      {"date": "04\/25\/2018"}
    ];
    
    datesBooking.forEach(function(data, index) {
      console.log(data);
    });

2018/12/02

Source: https://stackoverflow.com/questions/7662997
Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Email: [email protected]