js中JSON学习笔记

json学习笔记

前言: json是JavaScript的一个严格的子集,利用了JavaScript中的一些模式来表示数据结构化
  • 语法

    • 类似js, 但不支持undefined
    • 对象,数组
    • json不支持变量,函数或对象实例
  • 简单值

    • json的字符串与js的字符串的最大区别在于,json字符串必须使用双引号
  • 对象

    • json的对象要求给属性名上面加上双引号
  • 数组

    • json的数组类似与JavaScript数组
  • 解析与序列化

    • 将json变为js能直接使用的数据类型
  • JSON对象

    • json对象的两个方法
      • stringify() 将JavaScript对象序列化为json字符串
      • parse() 将json字符串解析为原生 JavaScript 值
  • 序列化选项

    • 过滤结果
      • 在 stringify 中传入参数(数组,函数)以达到过滤的效果
    • 字符串缩进
      • stringify 中第三个参数若为数值的话,则在转化成的 json 出现缩进
      • 也可以放字符串,相应的空格变为该字符串, 最大缩进空格数为10,所有大于10的值都会自动转换为10
    • toJSON()方法
      • 为一个对象自定义 toJSON() 属性函数
      • 将一个对象传入 stringify ,序列化该对象的顺序如下:
        1. 如果该对象存在 toJSON 方法而且能通过它取得有效值,则调用该方法,否则返回对象本身
        2. 如果存在第二个参数,应用这个函数过滤器。传入函数过滤器的值是第 1 步返回的值
        3. 对第 2 步返回的每个值进行相应的序列化
        4. 如果执行了第三个参数,执行相应的格式化
  • 解析选项

    • JSON.parse() 方法也可以接收参数, 该参数是一个函数,将在每个键值对上进行调用。为了区别 JSON.stringify 接受的替换函数, 这个函数被成为还原函数 (reviver)。

总结

  • JSON是一种轻量级的数据格式,可以简化表示复杂数据结构的工作量ECMAScript 5 定义了一个原生的 JSON 对象, 可以用来将对象序列化为 JSON 字符串或者将 JSON 数据解析为 JavaScript 对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值