Z. Zlatev
Z. Zlatev

Reputation: 4820

PHP: need json_encode() 5.3 functionality in 5.2

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

Answers (2)

typeoneerror
typeoneerror

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

Haris
Haris

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

Related Questions