重读《JSON必知必会》

一、重要概念

  1. JSON是基于JavaScript对象字面量中标识属性的语法,但是并不包含于JavaScript对象字面量的函数相关的部分
  2. 在JSON的名称-值对中,名称始终被双引号包裹,值可以是字符串、数字、布尔值、null、对象或者数组
  3. JSON的媒体类型是application/json

二、转义字符

  1. 双引号("")
  2. 反斜线(\)
  3. 正斜线(/)
  4. 退格符(\b)
  5. 换页符(\f)
  6. 制表符(\t)
  7. 换行符(\n)
  8. 回车符(\r)
  9. 表情字符(\u 后面跟十六进制字符)

三、常用JSON方法

  1. JSON.stringify(value[, replacer [, space]])

    参数

    value
    将要序列化成 一个JSON 字符串的值。
    replacer  可选
    如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为null或者未提供,则对象所有的属性都会被序列化;关于该参数更详细的解释和示例,请参考 使用原生的 JSON 对象一文。
    space  可选
    指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;如果该参数没有提供(或者为null)将没有空格。

    返回值 

    一个表示给定值的JSON字符串

    注意事项:

    • 非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。
    • 布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。
    • undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。
    • 所有以 symbol 为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们。
    • 不可枚举的属性会被忽略

    JSON.parse(text[, reviver])

    参数

    text
    要被解析成JavaScript值的字符串,查看  JSON 对象学习的JSON 语法的说明。
    reviver  可选
    如果是一个函数,则规定了原始值如何被解析改造,在被返回之前。

    返回值

    Object对应给定的JSON文本。

    详细MDN链接:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值