如何在没有PHP5.2的情况下使用json_编码

如何在没有PHP5.2的情况下使用json_编码,php,ajax,json,Php,Ajax,Json,我已经编写了一个CMS,它使用PHP函数json_encode通过Ajax请求发送一些数据回来 不幸的是,我试图将其加载到运行PHP 5.1版的服务器上,json_encode PHP函数在PHP 5.2.0之前的版本上不可用 有人知道不使用内置的JSON_encode函数将PH数组编码为JSON的方法吗 编辑 我已经使用了Pekka的函数,但是现在我发现JQuery不会像预期的那样解析结果。即使Firebug显示JSON被传回。我的firebug窗口如下所示: 我的jquery如下所示:

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

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

有人知道不使用内置的JSON_encode函数将PH数组编码为JSON的方法吗

编辑

我已经使用了Pekka的函数,但是现在我发现JQuery不会像预期的那样解析结果。即使Firebug显示JSON被传回。我的firebug窗口如下所示:

我的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']);
$.ajax({
键入:“获取”,
url:“includes/function/add_users.php”,
数据:str,
数据类型:“json”,
cache:false,
发送前:函数(html){
$('#editbox').html('');
},
成功:函数(html){
字段=html;
$('#div1').html(字段['username']);
$('#div2').html(字段['fname']);
但是div:#div1和#div2不会加载正确的数据

为什么?

我点击了谷歌。。。 此人制作了自己的编码器:


您可以使用。

用户提供的注释有许多实现。粗略地看,在我看来是最好的


如果您有权访问PECL,我将使用@Artefactor推荐的扩展。

如果您使用的是旧版本的PHP,您可以使用。它工作得很好!

好的,工作得很好-firebug显示传递了JSON。但是Jquery不喜欢它…好的-请参阅扩展问题above@Ashley您需要显示一些实际的JSON,以便我们可以告诉w这是不对的。或者,@Mark Baker的建议看起来也很有趣。@Ashley JSON结果不是一个对象吗?这意味着您需要使用
字段。username
?在用户贡献的笔记上提出了一个新的实现,似乎也很好。值得一试:我假设您正确地关闭了ajax语句?关闭b是成功函数,还是整个ajax函数?是的,它们被正确地关闭了,我只包含了代码的相关部分