• 1.摘要
  • 2.基本信息
  • 3.历史沿革
  • 4.语法规则
  • 5.常用类型
  • 6.基础示例
  • 6.1.表示对象
  • 6.2.表示数组
  • 7.和XML的比较
  • 7.1.可读性
  • 7.2.可扩展性
  • 7.3.编码难度
  • 7.4.解码难度
  • 7.5.实例比较
  • 8.校验工具
  • 8.1.前言
  • 8.2.功能
  • 8.3.JSON的最小化
  • 9.参考资料

JSON

轻量级的数据交换格式

JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率1

1/2

基本信息

  • 中文名

    JavaScript 对象简谱

  • 外文名

    JavaScript Object Notation

  • 缩写

    JSON2

  • 学科

    信息技术

  • 发音

    /ˈdʒeɪsən/

历史沿革

JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。

JSON是Douglas Crockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

语法规则

JSON

JSON 语法规则

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

  • 对象表示为键值对

  • 数据由逗号分隔

  • 花括号保存对象

  • 方括号保存数组

JSON 键/值对

JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:

这很容易理解,等价于这条 JavaScript 语句:

JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

JSON 和 JS 对象互转

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:

要实现从 JSON 转换为对象,使用 JSON.parse() 方法: