json_encode 函数

来源:互联网 发布:数据交换平台 中软 编辑:程序博客网 时间:2024/05/02 00:31
 

 Json_encode ()

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

注:某些浏览器可能支持方面有些问题(例如:360,遨游);

作用:

 对变量进行 JSON 编码。

 

说明:
string json_encode ( mixed $value )
返回 value 值的 JSON 形式。

mixed 说明一个参数可以接受多种不同的(但并不必须是所有的)类型.

待编码的 value ,除了resource  类型之外,可以为任何数据类型

该函数只能接受 UTF-8 编码的数据(译注:指字符/字符串类型的数据)

编码成功则返回一个以 JSON 形式表示的 string  (字符串) 。

 

特别注意:

如果内容为中文,输出null!

因为json仅仅转义encoding编码 !

且js 中decodeURI 仅仅支持utf8 转码。


解决的普遍方法:

先将类中的中文字段进行url编码(urlencode),然后再对对象进行json编码(jsonencode),最后url解码(urldecode)json,即最终的json,里面的中文依旧是那个中文!

 

例如:

1、

<?php

        foreach ($ajax as $key=>$val)
        {
            $ajax[$key]['name']    = urlencode(iconv('gb2312','utf-8',$val['name']));
        }
        echo json_encode($json);

?>


2、

<?php
foreach ($ajax as $key=>$val)
{
$ajax[$key]['name'] =
urlencode(iconv('gb2312',
'utf-8',$val['name']));
}
echo json_encode($json);
?>

原创粉丝点击