如何在没有PHP 5.2的情况下使用json_encode

时间:2010-06-10 11:26:52

标签: php ajax json

我编写了一个CMS,它使用PHP函数json_encode通过Ajax请求发回一些数据。

不幸的是,我正在尝试将其加载到运行PHP 5.1版的服务器上,jince_encode PHP函数在5.2.0之前的PHP版本上不可用。

有没有人知道如何在不使用内置的json_encode函数的情况下将PH数组编码为JSON?

修改

我使用过Pekka的函数,但现在我发现JQuery不会按预期解析结果。即使Firebug显示JSON被传回。我的firebug窗口如下所示:alt text http://www.freeimagehosting.net/uploads/b5a5e5855b.jpg

我的jquery看起来像这样:

     $.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']);

但div:#div1和#div2不会加载正确的数据。

为什么?

4 个答案:

答案 0 :(得分:4)

json_encode的用户贡献说明有许多实现。粗略地看一眼this one对我来说是最好的。

如果您有权访问PECL,我会使用@Artefacto推荐的扩展名。

答案 1 :(得分:1)

我打了谷歌...... 这个人制作了自己的编码器:

http://www.post-hipster.com/2008/02/15/elegant-little-php-json-encoder/

答案 2 :(得分:1)

您可以使用PECL extension

答案 3 :(得分:0)

如果您使用的是旧版本的PHP,则可以使用json_encode for earlier versions of PHP 5.x。它很棒!