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?
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.
Approach: Declare an associative array containing key-value pair objects. Then use delete keyword to delete the array objects from an associative 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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With