zoukankan      html  css  js  c++  java
  • Json

    1、json: javascript  object  notationjs对象符号),是一种数据格式,不是编程语言,语法形式和js一样

    2、数据格式:

    1、整体结构

            String json1 = {"name" : "Jack","sex" : "男"}

            String json2 = [{"name" : "Jack","sex" : "男"},{"name" : "Vincent","sex": "男"}]

       2、JSON对象------左花括号({ )开头,右花括号(})结尾,一个键值对为一个属性

            Json对象结构:{key1:value1,key2:value2...}

                    a)、key的数据类型:字符串

                    b)、value的数据类型:字符串、数值、null、json数组[]、json对象{}


    3、json数组:

    json数组结构:[value1,value2......]

                   1)、value的数据类型:字符串、数值、null、json数组[]、json对象{}

    4、语法规则:

            1)、数据在名称/值中,为一个键值对,表示的是对象的属性

            2)、除了最后一个属性或对象,每个属性,每个对象都必须用逗号(,)分隔

            3)、花括号({})保存对象,一对花括号表示一个对象

            4)、方括号([])保存数组,一对方括号表示一个数组
    5、JSON.stringify()

            使用JSON.stringify()把一个js对象序列化为一个json字符串,然后保存在jsonText中
                var book={
                    title:"javaScript",
                    year:2011,
                };
                var jsonText=JSON.stringify(book);
            jsonText中的字符串是
                {title:"javaScript",year:2011,}
            在序列化js对象时,所有的空格,缩进和undefined都会被跳过,结果中最终都是有效的json数据类型的属性

    JSON.parse()
            将json字符串直接传递给JSON.parse()就可以得到相应的js值
            如果传给JSON.parse()的字符串不是有效的JSON,该方法会报错
            var bookcopy=JSON.parse(jsonText);

    toJSON
            toJSON() 方法可以将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
            返回字符串的 Date 对象,并格式化为 JSON 数据:
                var d=new Date();
                var n=d.toJSON();
            n 输出结果:
                2018-01-15T12:11:54.651Z
            JSON中的用法:
            var book={
                "title":"JavaScript",
                toJSON:function(){
                    return this.title;
                };
            };
            var jsonText=JSON.stringify(book);
    6、json_encode(),json_decode()

    json_encode():对变量进行json转码,

    $book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
    $json = json_encode($book);
    echo $json;
    

      结果:

    {"a":"xiyouji","b":"sanguo","c":"shuihu","d":"hongloumeng"}
    

     json_decode(): 对JSON数据进行解码,转换为PHP变量

    • 语法:json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
    • 注意:1、$json 为待解码的数据,必须为utf8编码的数据;

          2、$assoc 值为TRUE时返回数组,FALSE时返回对象;

          3、$depth 为递归深度;

          4、$option 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;

          5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true

    $book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
            $json = json_encode($book);
            
            $array = json_decode($json,TRUE);
            $obj = json_decode($json);
            var_dump($array);
            var_dump($obj);
    

      结果:

    array(4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }
    object(stdClass)#2 (4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" } 
    

      

     




  • 相关阅读:
    nginx安装
    win7 mount到Linux下无法分配内存的问题(Cannot allocate memory)
    [转]linux时间同步
    关于文件缓冲的问题
    【转】VNC配置
    yum代理设置
    mysql开启日志
    [译]rabbitmq 2.5 Where’s my message? Durability and you
    [译]rabbitmq 2.4 Multiple tenants: virtual hosts and separation
    [译]rabbitmq 2.2 Building from the bottom: queues
  • 原文地址:https://www.cnblogs.com/1500418882qqcom/p/10410574.html
Copyright © 2011-2022 走看看