json_decode function is not part of PHP 5.1, so I cannot use it. Is there any other function for this version?
The json_decode() function is used to decode or convert a JSON object to a PHP object.
The json_decode() function can return a value encoded in JSON in appropriate PHP type. The values true, false, and null is returned as TRUE, FALSE, and NULL respectively. The NULL is returned if JSON can't be decoded or if the encoded data is deeper than the recursion limit.
Does JSON decode return an array? The json_decode() function returns an object by default. The json_decode() function has a second parameter, and when set to true, JSON objects are decoded into associative arrays.
Before PHP 5.2, you can use the JSON PECL extension.
In fact, it is the extension that has been integrated into PHP 5.2 (quoting) :
As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.
Some other solutions would be to use some component developped in PHP.
Some time ago (about one year ago), I used the Zend_Json
component of Zend Framework, with PHP 5.1.
Even if Zend Framework requires PHP 5.2, that component can be extracted (I think it depends only on one other component -- maybe Zend_Exception
, or something like that) -- and one year ago, it was possible to use it with PHP 5.1.
The official JSON website also links to several PHP-based or PHP-oriented components -- you might want to take a look at that list.
I ran into the same issue running PHP 5.1.6, but I couldn't upgrade or install extensions on my client's server. To make matters worse, the JSON.org site was down when I needed a solution but fortunately this file on Google Code worked perfectly! I would have preferred to actually define json_encode/json_decode, but calling fromJSON() worked just fine.
http://code.google.com/p/simplejson-php/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With