• js-json


    ###1. json是一种与语言无关的数据交换的格式,其主要作用:

      1)使用ajax进行前后台数据交换

      2)移动端与服务端的数据交换

    ###2.json有三种类型:

      1)对象:{"key1":obj,"key2":obj,"key3":obj...}

        例如:user对象 用json数据格式表示

        {"username":"zhangsan","age":28,"password":"123","addr":"北京"}

      2)数组:[obj,obj,obj...]

        List<Product> 用json数据格式表示

        [{"pid":"10","pname":"小米4C"},{},{}]

      3)简单值: 字符串·数值·布尔值和null

    注意:对象格式和数组格式可以互相嵌套

    注意:json的key是字符串  json的value是Object

    ###3. json数据的解析与序列化

      1)    JSON对象 转 JS对象 (解析)

        js:    JSON.parse()

        jQ:   $.parseJSON()  /  $.parse()

      2) JS对象转JSON对象(序列化)

        js: JSON.stringify(obj)

        jQ:$.stringify(obj)

        stringify()含两个参数,第一个参数是一个过滤器,可以使一个数组或函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩进

          eg:

            var book =  {

              "title"  : "abc",

              "edition" : 3,

              "year" : 2011

            }

            var jsonText = JSON.stringify(book,["title","year"]);

            结果为:  {"titile":"abc","year":2011}

        若第二个参数为函数,则该函数需接受两个参数,属性(键)名和属性值    即key 和value

          eg:

            var book =  {

              "title"  : "abc",

              "edition" : 3,

              "abc": [

                "abc 123"

              ]

            }

            var jsonText = JSON.stringify(book,function(key,value){

              switch(key){

                case "title":

                  return undefined;

                case "edition":

                  return 20;

                case "abc":

                  return value.join(",")        //join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

                defalut:  

                  return value;

              }          

            });

            输出结果为:{"edition":20,"abc":"abc 123"}

       3.)字符串缩进  

          JSON.stringify()方法的第三个参数用于控制结果中的缩进和空白符,表示的是每个级别缩进的空格数或指定字符作为缩进符。   作用是方便程序员阅读

            var jsonText = JSON.stringify(book,null,4)

              输出结果:{

                     "titile":"abc",

                     ......

                     "abc":[

                       "abc 123"

                     ]

                   }

        4.)toJSON()方法

          原生Date对象有一个该方法,能将JavaScript的Date对象自动转换成ISO 8601日期字符串  

        

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/john-hwd/p/10501785.html
Copyright © 2020-2023  润新知