I'm having some issues with json_encode, i need that the output were something like this:
{
"Advisories": [
{
"Advisory": {
"Severe": "false",
"description": "Lorem ipsum dolor sit amet",
"title": "Advise:",
}
},
{
"Advisory": {
"Severe": "true",
"description": "Lorem ipsum dolor sit amet",
"title": "Advise:",
}
},
{
"Advisory": {
"Severe": "true",
"description": "Lorem ipsum dolor sit amet",
"title": "Advise:",
}
}
]
}
this is how my var $arrayItems is:
Array (
[0] => Array (
[Severe] => false
[description] => Lorem ipsum dolor sit amet.
[title] => Advise
)
[1] => Array (
[Severe] => false
[description] => Lorem ipsum dolor sit amet.
[title] => Advise
)
[2] => Array (
[Severe] => true
[description] => Lorem ipsum dolor sit amet
[title] => Advise
)
)
but when i use the function json_encode like this: print json_encode(['Advisories' => array('Advisory'=>$arrayItems)]);
the output is like this:
{
"Advisories": {
"Advisory": [
{
"Severe": "false",
"description": "Lorem ipsum dolor sit amet",
"title": "Advise",
},
{
"Severe": "false",
"description": "Lorem ipsum dolor sit amet",
"title": "Advise",
},
{
"Severe": "true",
"description": "Lorem ipsum dolor sit amet",
"title": "Advises ",
}
]
}
}
I dont know what else can i do to change the output,
Could you please help me? Regards
To achieve that format you will have to modify the $arrayItems a little bit.
The below snippet will modify each subarray to include the 'Advisory' key which will be a property pointing to a json object (which holds the original subarray data).
$result = ['Advisories' => array_map(
function ($subarray) {
return ['Advisory' => $subarray];
},
$arrayItems
)];
return json_encode($result);
Result:
{
"Advisories": [
{
"Advisory": {
"Severe": false,
"description": "Lorem ipsum dolor sit amet.",
"title": "Advise"
}
},
{
"Advisory": {
"Severe": false,
"description": "Lorem ipsum dolor sit amet.",
"title": "Advise"
}
},
{
"Advisory": {
"Severe": true,
"description": "Lorem ipsum dolor sit amet",
"title": "Advise"
}
}
]
}