Reputation: 4820
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.
Upvotes: 11
Views: 6418
Reputation: 56968
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.
Upvotes: 18
Reputation: 1059
You can use the PHP pear package to support json_encode on older versions of PHP. It seems to support encoded objects.
Checkout http://pear.php.net/package/Services_JSON/
Upvotes: 1