I've written a CMS which uses the PHP function json_encode to send some data back via an Ajax Request.
Unfortunately, I'm trying to load it onto a server which is running PHP version 5.1, the json_encode PHP function is not available on versions of PHP before 5.2.0.
Does anyone know of a way to encode a PH array as JSON without using the inbuilt json_encode function?
EDIT
I've used Pekka's function, but now I find JQuery won't parse the result as expected. Even though Firebug shows JSON being passed back through. My firebug window looks like this:
and my jquery looks like this:
$.ajax({
type: "GET",
url: "includes/function/add_users.php",
data: str,
dataType: 'json',
cache: false,
beforeSend: function(html){
$('#editbox').html('<img class="preloader" src="images/ajax-loader.gif"/>');
},
success: function(html){
fields = html;
$('#div1').html(fields['username']);
$('#div2').html(fields['fname']);
But the divs : #div1 and #div2 will not load the correct data.
FOR WHY?
The User Contributed Notes to json_encode have a number of implementations. On a cursory glance, this one looks the best to me.
If you have access to PECL, I would use the extension as @Artefacto recommends.
I hit up the google... This person has made a encoder of their own:
http://www.post-hipster.com/2008/02/15/elegant-little-php-json-encoder/
您可以使用PECL扩展 。
You can use json_encode
for earlier versions of PHP 5.x if you are using an older version of PHP. It works great!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.