简体   繁体   中英

how to use json_encode without PHP 5.2

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM