zoukankan      html  css  js  c++  java
  • JS复习:第二十章

    一、JSON

    1.JSON的语法可以表示以下三种类型的值:

      (1)简单值:字符串、数值、布尔值和null。如:5,“Hello,World!”

      (2)对象:javascript中对象字面量:

            var person = {

              name : "Nicholas",

              age : 29

            };

            JSON表示上述对象的方式如下:

            {

              "name" : "Nicholas",

              "age" : 29  

            }

            也可以像下面这样嵌入对象:

            {

              "name" : "Nicholas",

              "age" : 29,

              "school" : {

                "name" : "Merrimack College",

                "location" : "North Andover,MA" 

              }  

            }

        与javascript不同,JSON对象的属性名必须始终加双引号。

      (3)数组:JSON数组采用的就是javascript中的数组字面量形式。

          例如,下面是javascript中的数组字面量:

          var values = [25,"hi",true];

          在JSON中,可以采用同样的语法表示同一个数组:

          [25,"hi",true]

        把数组和对象结合起来,可以构成更复杂的数据集合:

        [

          {

            "title" : "Professional JavaScript",

            "authors" : [

              "Nicholas C. Zakas"

            ],

            edition : 3,

            year : 2011

          },

          {

            "title" : "Professional JavaScript",

            "authors" : [

              "Nicholas c. Zakas"

            ],

            edition : 2.

            year : 2009

          },

        ]

      对象和数组通常是JSON数据结构的最外层形式。

    二、序列化选项

      stringify( )和parse( )

      stringify( )接收两个参数:第一个参数可以是一个数组也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩进。

      1.过滤结果:

      如果过滤器参数是数组,那么JSON.stringify( )的结果中将只包含数组中列出的属性。例如:

      var book = {

        [

          {

            "title" : "Professional JavaScript",

            "authors" : [

              "Nicholas C. Zakas"

            ],

            edition : 3,

            year : 2011

          },

        ]

      };

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

      JSON.stringify( )的第二个参数是一个数组,其中包含两个字符串:"title"和"edition"。因此返回的数据就只会包含这两个属性:{"title":"Professional JavaScript","edition:3"}

      2.字符缩进

      JSON.stringify( )的第三个参数用于控制结果中的缩进和空白符。例如,要在每个级别缩进4个空格,可以这样写代码:

      var book={

            "title" : "Professional JavaScript",

            "authors" : [

              "Nicholas C. Zakas"

            ],

            edition : 3,

            year : 2011

          };

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

      保存在jsonText中的字符串如下所示:

      {

        "title":"Professional JavaScript",

        "authors":[

          "Nicholas C. Zakas"

        ],

        "edition":3,

        "year":2011

      }

      3.toJSON( )方法

      可以为任意对象添加toJSON( )方法,比如:

      var book={

            "title" : "Professional JavaScript",

            "authors" : [

              "Nicholas C. Zakas"

            ],

            edition : 3,

            year : 2011

            toJSON : function( ){

              return this.title;

            }

          };

      var jsonText = JSON.stringify(book);

  • 相关阅读:
    PyTorch中view的用法
    pytorch lstm crf 代码理解 重点
    Pytorch Bi-LSTM + CRF 代码详解
    pytorch入坑一 | Tensor及其基本操作
    error C2440:“类型转换":无法从“void (__thiscall Play1::* )(int *)”转换为“cocos2d::SEL_CallFucN
    一行命令搞定VS2012无法安装cocos2d-x-2.1.4及创建跨平台项目(二)
    VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
    更换VS2012序列号的方法
    【iOS开发必备指南合集】申请企业级IDP、真机调试、游戏接入GameCenter 指南(实现仿官方的成就提示)、游戏接入OpenFeint指南;
    Xcode快照——管理应用程序版本
  • 原文地址:https://www.cnblogs.com/koto/p/5304943.html
Copyright © 2011-2022 走看看