It is not so much as a problem as I have fixed the issue but I am stuck on the fix, I would like to know why you need to double json_encode a multidimenail array in php when you are returning it to javascript in an ajax call for example.
My Array
$jsonData = array('foo', 'bar');
$jsonData['catOne'][] = array('foo two', 'bar two');
PHP
return json_encode(json_encode($jsonData));
You don't need to. The json_encode
goes through the deepest elements and the json will be perfectly encoded:
$arr = array(
1 => array(5,6,7),
2 => array(4,3,2),
);
var_dump(json_encode($arr));
The output for that is:
string(25) "{"1":[5,6,7],"2":[4,3,2]}"
If you try:
var_dump(json_encode(json_encode($arr)));
The output will be:
string(31) ""{\"1\":[5,6,7],\"2\":[4,3,2]}""
See the difference?