我编写了一个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不会加载正确的数据。
为什么?
答案 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。它很棒!