JSON
JSON,JavaScript Object Notation,JavaScript对象表示法。
基于JavaScript语法来描述数据对象,但JSON独立于JavaScript语言。
大多语言实现了JSON解析器,JSON常用于跨平台文本数据交换。
JSON 示例
{
"sites": [
{"name": "google", "url": "www.google.com"},
{"name": "yuzaoyah", "url": "https://yuzaoyah.github.io/yuzaoyah/"},
{"name": "哔哩哔哩", "url": "https://www.bilibili.com/"},
]
}
JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 大括号 {} 保存对象
- 中括号 [] 保存数组,数组可以包含多个对象
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
JSON 名称/值对
key : value
JSON 对象
JSON 对象使用在大括号({})中书写。
对象可以包含多个 key/value(键/值)对。
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
key 和 value 中使用冒号(:)分割。
每个 key/value 对使用逗号(,)分割。
JSON 对象在大括号 {} 中书写:
{key1 : value1, key2 : value2, ... keyN : valueN }
JSON 数组
JSON 数组在中括号中书写。
JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。
JSON 数组在中括号 [] 中书写:
数组可包含多个对象:
[
{ key1 : value1-1 , key2:value1-2 },
{ key1 : value2-1 , key2:value2-2 },
{ key1 : value3-1 , key2:value3-2 },
...
{ keyN : valueN-1 , keyN:valueN-2 },
]
规范
JSON5规范允许在JSON文件中加入注释:单行注释,多行注释均可。文件以.json5后缀名结尾。
JSON解析器
jackson
fastjson
相关工具
JSON格式化
https://c.runoob.com/front-end/53
json转换javabean
其他
hjson