json encode 中文|json_encode() 和 json_decode() 实例

更新时间:2016-06-18    来源:js教程    手机版     字体:

【www.bbyears.com--js教程】

/*
json_encode - 返回一个值的JSON格式数组
json_encode — Returns the JSON representation of a value


*/


$arr = array ("a"=>"www.111cn.net","b"=>"cc","c"=>3,"d"=>4,"e"=>5);

$carray = json_encode($arr);

echo $carray ;

//结果{"a":"www.111cn.net","b":"cc","c":3,"d":4,"e":5} 现在我们用json_decode

$array = json_decode ( $carray );

print_r( $array );

/*
 结果
 (
    [a] => www.111cn.net
    [b] => cc
    [c] => 3
    [d] => 4
    [e] => 5
 )
*/

//随着字符串键PHP将考虑它的一个对象:


echo json_encode(array("id"=>"www.111cn.net"));
echo json_encode(array("testtext"));

/*
{"id":"www.111cn.net"}
["testtext"]

一个输出json格式的函数
*/

 代码如下

function json_format($json)
{
    $tab = "  ";
    $new_json = "";
    $indent_level = 0;
    $in_string = false;
   
    $json_obj = json_decode($json);
   
    if(!$json_obj)
        return false;
   
    $json = json_encode($json_obj);
    $len = strlen($json);
   
    for($c = 0; $c < $len; $c++)
    {
        $char = $json[$c];
        switch($char)
        {
            case "{":
            case "[":
                if(!$in_string)
                {
                    $new_json .= $char . " " . str_repeat($tab, $indent_level+1);
                    $indent_level++;
                }
                else
                {
                    $new_json .= $char;
                }
                break;
            case "}":
            case "]":
                if(!$in_string)
                {
                    $indent_level--;
                    $new_json .= " " . str_repeat($tab, $indent_level) . $char;
                }
                else
                {
                    $new_json .= $char;
                }
                break;
            case ",":
                if(!$in_string)
                {
                    $new_json .= ", " . str_repeat($tab, $indent_level);
                }
                else
                {
                    $new_json .= $char;
                }
                break;
            case ":":
                if(!$in_string)
                {
                    $new_json .= ": ";
                }
                else
                {
                    $new_json .= $char;
                }
                break;
            case """:
                $in_string = !$in_string;
            default:
                $new_json .= $char;
                break;                   
        }
    }
   
    return $new_json;
}

/*


在用到json_encode这个函数注意,它不支持中文,所以我们要先把编辑urlencode编辑再在js转,并且js返回的数据给php教程时也要注意一点,json返回的数据是utf-8的如果你的php文档是gbk的,所以也要用incov转换成gbk哦。
*/

本文来源:http://www.bbyears.com/wangyezhizuo/24703.html

猜你感兴趣

热门标签

更多>>

本类排行