Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: need json_encode() 5.3 functionality in 5.2

Tags:

json

php

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.

like image 569
Z. Zlatev Avatar asked Apr 13 '10 23:04

Z. Zlatev


Video Answer


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.

like image 115
typeoneerror Avatar answered Oct 17 '22 20:10

typeoneerror


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/

like image 36
Haris Avatar answered Oct 17 '22 22:10

Haris