Long story short, client's hosting is using php 5.2.5 and i desperately need to use the JSON_FORCE_OBJECT option with json_encode() that came with 5.3. Does anyone know some equivalent for that purpose? Point it out please.
-
10@cletus if only we all had control over every hosting environment evertypeoneerror– typeoneerror2010-04-14 00:08:41 +00:00Commented Apr 14, 2010 at 0:08
-
...i'm still on 4.2 /crynickf– nickf2010-04-14 00:16:58 +00:00Commented Apr 14, 2010 at 0:16
Add a comment
|
2 Answers
Casting as an object before encoding worked for me on 5.2.5:
$array = array(1,2,3);
echo json_encode($array);
// [0,1,2]
echo json_encode((object)$array);
// {"0":1,"1":2,"2":3}
And using PHP 5.3 yields the same output:
echo json_encode($array);
// [0,1,2]
echo json_encode($array, JSON_FORCE_OBJECT);
// {"0":1,"1":2,"2":3}
You might also try this solution from another thread. Not sure what your exact use-case is.
Comments
You can use the PHP pear package to support json_encode on older versions of PHP. It seems to support encoded objects.