JSON在线解析及格式化验证 221

您可以搜索 JSON格式化工具  JSON解析工具  JSON在线解析工具  找到该工具

提示:您本机的IP地址是 18.208.202.194,查询IP地址 18.208.202.194 在哪里?

JSON

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

JSON 语法规则

JSON是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个字面名。

JSON是一个序列化的对象或数组。

1. 六个构造字符:

  1. begin-array = ws %x5B ws ; [ 左方括号
  2. begin-object = ws %x7B ws ; { 左大括号
  3. end-array = ws %x5D ws ; ] 右方括号
  4. end-object = ws %x7D ws ; } 右大括号
  5. name-separator = ws %x3A ws ; : 冒号
  6. value-separator = ws %x2C ws ; , 逗号

2. 在这六个构造字符的前或后允许存在无意义的空白符(ws):

  1. ws = *(%x20 /; 空间
  2. %x09 /; 水平标签
  3. %x0A /; 换行或换行
  4. %x0D); 回程

3.JSON的值:

3.1 JSON的构成: ws ws [1]

3.2 可以是对象数组数字字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写。

3.2.1 对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的由逗号分割的键值对组成,如:

  1. ``{``"name"``: ``"John Doe"``, ``"age"``: 18, ``"address"``: {``"country"` `: ``"china"``, ``"zip-code"``: ``"10000"``}}

3.2.2 数组是由方括号括起来的一组值构成,如:

  1. [3, 1, 4, 1, 5, 9, 2, 6]

3.2.3 字符串与C或者Java的字符串非常相似。字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

3.2.4数字也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。 [2]

一些合法的JSON的实例:

  1. {``"a"``: 1, ``"b"``: [1, 2, 3]}
  2. [1, 2, ``"3"``, {``"a"``: 4}]
  3. 3.14
  4. "plain_text"

JSON 与 JS 对象的关系

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

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

  1. var` `obj = {a: ``'Hello'``, b: ``'World'``}; ``//这是一个对象,注意键名也是可以使用引号包裹的
  2. var` `json = ``'{"a": "Hello", "b": "World"}'``; ``//这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象互转

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

  1. var` `obj = JSON.parse(``'{"a": "Hello", "b": "World"}'``); ``//结果是 {a: 'Hello', b: 'World'}

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

  1. var` `json = JSON.stringify({a: ``'Hello'``, b: ``'World'``}); ``//结果是 '{"a": "Hello", "b": "World"}'

关键词:JSON格式化校验,JSON视图,压缩转义,JSON在线编辑器,在线发送JSON数据,JSON着色,JSON-XML互转,JSON-VIEW