Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Associative array to JSON [closed]

I would like to be able to generate a JSON output in the following format:

{"a":{"ax":1,"abx":2},"b":{"bax":1,"bbx":2},"c":3,"d":4,"e":5}

Although I have found that the respective code is this:

$arr = array('a' => array('ax' => 1, 'abx' => 2), 'b' => array('bax' => 1, 'bbx' => 2), 'c' => 3, 'd' => 4, 'e' => 5);

, I'm struggling to generate this output by using data from an SQL query. I have tried array_push() and array_merge() and the closest I have managed to get is this:

[{"a":{"ax":1,"abx":2}},{"b":{"bax":1,"bbx":2}}, ....]

How can I do it?

like image 353
Nick Avatar asked Jun 05 '12 00:06

Nick


People also ask

Is JSON associative array?

The json_decode() function returns an object by default. The json_decode() function has a second parameter, and when set to true, JSON objects are decoded into associative arrays.

How do you remove an element from an associative array?

Approach: Declare an associative array containing key-value pair objects. Then use delete keyword to delete the array objects from an associative array.

Can JSON hold array?

JSON array can store string , number , boolean , object or other array inside JSON array. In JSON array, values must be separated by comma. Arrays in JSON are almost the same as arrays in JavaScript.


1 Answers

First you should query all your data from the table and then move it to an array. After this, use the json_encode($array) function.

Place your array inside the parameters.

Then the output will be in JSON format.

$query = "select *  from employees";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
  $employee = $row['employee'];
  $country = $row['country'];

  $employees[] = array('employee'=> $employee, 'country'=> $country);
}

echo $jsonformat = json_encode($employees);
like image 165
Mghost.friend Avatar answered Sep 28 '22 06:09

Mghost.friend