0

I know this is rather simple but I'm stuck at it and I'd really like some help

Here's a JSON string I'm generating.

[{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}]

How do I extract the value associated with field1?

And how do I access elements of each of the distinct arrays?

Anon
  • 795
  • 5
  • 25
  • 47

7 Answers7

3

try this code

$jsonString = '[{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}]';

$json = json_decode($jsonString, true);

print_r($json);
Janak Prajapati
  • 846
  • 1
  • 8
  • 33
1

Try this (in Javascript)

var jsonData=[{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}];

if you get response as text then use jsonData=JSON.parse(yourResponseText);

for(var i=0;i<jsonData.length;i++){
alert('your required val:'+jsonData[i].field1);
}

In php

$data = json_decode($json);//$json is your json data

foreach ($data as $item) {
  echo $item->field1
}
Anand Jha
  • 9,806
  • 6
  • 22
  • 28
1

https://stackoverflow.com/a/3627901/485790

console.log(jQuery.parseJSON(' [{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}]').field1);
Community
  • 1
  • 1
Vojtiik
  • 2,558
  • 1
  • 15
  • 21
1

In php way

$jsonString = '[{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}]';

$json = json_decode($jsonString, true);

foreach($json as $item){
   echo $item['field1'];
}
Chokchai
  • 1,626
  • 12
  • 11
1

In php you can:

$json = json_decode($_GET['variable'];

http://php.net/manual/en/function.json-decode.php

Developerium
  • 6,963
  • 4
  • 32
  • 54
1

try this,

var json = '[{"field1":3,"field2":"5","field3":"value3","field4":"value4"},{"field1":3,"field2":"8","field3":"value3","field4":"value4"},{"field1":3,"field2":"6","field3":"value3"}]';
    $.each(jQuery.parseJSON(json), function () {
        alert(this['field1']);
        alert(this['field2']);
        alert(this['field3']);
        alert(this['field4']);

});
Manish Sharma
  • 2,388
  • 2
  • 15
  • 30
1

this is a simple array of json objects. so with jquery

var jsonArray = JSON.parse("your string");
   for(var int i=0 ; i < jsonArray.length() ; i++){
     var jsonObject = jsonArray[i];
     Console.log(jsonObject.field1)
   }
Pankaj Sharma
  • 1,795
  • 1
  • 16
  • 22