美文网首页
php - json_encode json_decode 用法

php - json_encode json_decode 用法

作者: abs1004 | 来源:发表于2017-07-21 17:55 被阅读0次

需要php版本5.2以上

一、json_decode(string $json [, bool $assoc ] );
//接受一个 JSON 格式的字符串 $json ,并且把它转换为 PHP 变量 (!这里一定要注意:$json 是个JSON格式的字符串,首先他得是个字符串!比如:$json = '{"name":"matrix,"age":32,"gender":"male"}'; 这样来创建一个JSON格式的字符串)
//第二个参数不写就默认false,解析成 object (对象格式);
// 如果设为true,解析成 array (索引数组格式)

废话不多说,上代码:

        //开始 json_decode 代码范例:
        $jsonStr = '{"name":"Jack","age":32,"sex":"male"}'; //json格式的字符串
    $object = json_decode($jsonStr); //解析成对象格式的php变量
    $array = json_decode($jsonStr, true); //解析成数组格式的php变量

    var_dump($object);//打印对象
    echo "<br />".$object->name."<br />";//取对象中的 name 键对应的值(Jack)

    var_dump($array);//打印数组
    echo "<br />".$array['name']."<br />";//取数组中的 name 索引对应的值(Jack)
      //结束
?>

二、json_encode(mixed $value [, int $options = 0 ] )
//对变量进行 JSON 编码
//$value
//待编码的 $value ,除了resource 类型之外,可以为任何数据类型
//该函数只能接受 UTF-8 编码的数据

//$options
//由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, //JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, //JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, //JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.

<?php
                //开始 json_encode 代码范例:
                /** 
         * 低版本PHP创建对象(PHP5.4以下版本)
        */
        $object->name = 'object';$object->sn = "1";//创建对象
        $object2json = json_encode($object);//编码成json格式的字符串
        var_dump($object2json);//打印编码后的json格式的字符串
        echo "<br />";

        /** 创建对象(PHP5.4及以上版本)
         *
        */
        //$object = (object) [
        //     'name' => 'object',
        //     'sn' => 1,
        //   ]; 
        // $object2json = json_encode($object);//编码成json格式的字符串
        // var_dump($object2json);//打印编码后的json格式的字符串
        // echo "<br />";

        $array = array("name"=>"array","sn"=>2); 
        $array2json = json_encode($array);
        var_dump($array2json);
              //示范代码结束
?>

相关文章

网友评论

      本文标题:php - json_encode json_decode 用法

      本文链接:https://www.haomeiwen.com/subject/lzeekxtx.html