跳至主要內容

JSON

Yang大约 2 分钟

JSONopen in new window


描述

JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null 。它基于 JavaScript 语法

JavaScript类型JSON 的不同点
对象和数组属性名称必须是双引号括起来的字符串;最后一个属性后不能有逗号
数值禁止出现前导零( JSON.stringify 方法自动忽略前导零,而在 JSON.parse 方法中将会抛出 SyntaxError);如果有小数点, 则后面至少跟着一位数字
字符串只有有限的一些字符可能会被转义;禁止某些控制字符

JSON.parse()open in new window

  • 描述:解析 JSON 字符串
  • 语法:JSON.parse(text[, reviver])
  • 参数
    • text:要被解析成 JavaScript 值的字符串
    • reviver:转换器, 如果传入该参数(函数),可以用来修改解析生成的原始值,调用时机在 parse 函数返回之前
  • 返回值:Object 类型, 对应给定 JSON 文本的对象/值
  • 注意:若传入的字符串不符合 JSON 规范,则会抛出 SyntaxError异常

JSON.stringify()open in new window

  • 描述:将一个 JavaScript 对象或值转换为 JSON 字符串
  • 语法:JSON.stringify(value[, replacer [, space]])
  • 参数
    • value:将要序列化成 一个 JSON 字符串的值
    • replacer
      • 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理
      • 如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中
      • 如果该参数为 null 或者未提供,则对象所有的属性都会被序列化
    • space:指定缩进用的空白字符串,用于美化输出类型
      • 如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格
      • 如果该参数为字符串(当字符串长度超过10个字母,取其前10个字母),该字符串将被作为空格
      • 如果该参数没有提供(或者为 null),将没有空格
  • 返回值:一个表示给定值的JSON字符串
上次编辑于:
贡献者: sunzhenyang