zoukankan      html  css  js  c++  java
  • 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日期字符串  

        

  • 相关阅读:
    获取当前时区时间
    python lambda表达式详解
    Odoo 12开发之开发环境准备
    初步了解odoo12
    web前端面试题
    实现一个优先级队列
    面试题
    python读取和生成excel文件
    Django基础
    virtualenv
  • 原文地址:https://www.cnblogs.com/john-hwd/p/10501785.html
Copyright © 2011-2022 走看看