• js-JavaScript高级程序设计学习笔记16


    第20章 JSON

    JOSN,JavaScript对象表示法,是JS的一个严格的子集,但是它是一种数据格式,虽然与JS具有相同的语法形式,但是不从属于JS。

    1、语法

    ①可表示简单值——字符串、数值、布尔值、null,但不支持undefined

    对象——复杂数据类型,一组无序键值对儿,值可以是简单值也可以是复杂数据类型的值;

    数组——复杂,一组有序的值的列表,数组的值可以是任意类型。

    JSON不支持变量、函数或对象实例。

    1、简单值。

    JSON字符串必须使用双引号

    2、对象。

    JSON中对象要给属性加双引号,JS中可加可不加。JSON不用声明变量,没有末尾的分号。

    3、数组。

    与JS语法相同。不用声明,没有分号。

    2、解析与序列化

    可以把JSON数据结构解析为有用的JS对象。

    1、JSON对象。

    全局对象JSON。两个方法:stringify()和parse(),前者把JS对象序列化为JSON字符串,后者JSON字符串解析为原生JS值。

    2、序列化选项。

    JSON.stringify()除了要序列化的JS对象外,还可以接收两个参数——过滤器和是否保留缩进

    ①过滤结果

    如果过滤器参数是数组,那么结果将只包含数组中列出的属性。

    ②字符串缩进

    如果参数是一个值,那么表示的是每个级别缩进的空格数,最大为10,换行符会被保留。

    参数也可以是一个字符串,那么字符串会被用作缩进字符,最大为10.

    ③toJSON()方法

    假如把一个对象传入JSON.stringify(),序列化对象的顺序如下:

    Ⅰ、如果存在toJSON()方法而且能通过它取得有效的值,则调用该方法。否则返回对象本身;

    Ⅱ、如果提供了第二个参数,应用这个函数过滤器。传入函数过滤器的值是第Ⅰ步返回的值;

    Ⅲ、对第Ⅱ步返回的值进行序列化;

    Ⅳ、如果提供了第三个参数,执行格式化。

    3、解析选项

    JSON.parse()方法也可以接收一个参数,该参数是一个函数,称为还原函数。如果还原函数返回undefined,则删除相应的键,如果返回其他值,将值插入到结果中。

  • 相关阅读:
    获取当前用户的网络状态--iOS
    网络请求 ---iOS
    一个小项目中需要注意的几个地方
    在项目中几个需要学习的知识
    简单三级联动的建立
    验证码在页面中的使用
    嘿嘿。今天学习了AJAX的几个方法
    状态保持以及AJAX的初步学习
    webform的学习(2)
    WebForm的初步认识
  • 原文地址:https://www.cnblogs.com/zczhangcui/p/6196415.html
Copyright © 2020-2023  润新知