JSON (JavaScript Object Notation:JavaScript 对象表示法)是网络上最广泛使用的 数据交换数据格式 . 这种数据交换可以发生在不同地理位置或在同一台机器上运行的两个计算机应用程序之间.
好处是 JSON 是一种人类可读的格式,也是一种机器可读的格式。因此,虽然应用程序/库可以解析 JSON 文档,但人类也可以查看数据并从中得出含义.
所有现代编程语言(例如,Java、JavaScript、Ruby、C#、PHP、Python 和 Groovy)和应用程序平台都为生成(序列化)和使用(反序列化)JSON 数据提供了出色的支持.
1. JSON 规范
Douglas Crockford 最初于 2001 年创建了 JSON,并于 2006 年通过 IETF根据RFC 4627对其进行了初步标准化。2013 年,Ecma International 还在ECMA 404下对 JSON 进行了标准化.
2014 年 3 月,Tim Bray 在 IETF RFC 7158和RFC 7159中更正了原始 IETF 4627 的勘误表.
新规范消除了与其他 JSON 规范的不一致,修复了规范错误,并提供基于经验的互操作性指导.
2. JSON 文件和 MIME 类型
在文件系统中存储 JSON 文档的标准文件类型是
.json
.
JSON 的互联网号码分配机构 (IANA) 媒体(或 MIME)类型为application/json
.
3. JSON 文档
JSON 文档可能包含文本、花括号、方括号、冒号、逗号、双引号,可能还包含一些其他字符.
首先,有效的 JSON 文档可以包含两种结构:
- 一个由大括号括起来并包含多个名称/值对的 对象 .在各种语言中,这被实现为记录、结构体、字典、哈希表、键控列表或关联数组.
- 用方括号括起来的值的 数组或有序列表 . 在大多数语言中,这是作为向量、列表或序列实现的.
4. JSON 示例
JSON文档示例如下:
//JSON 对象
{
"employee": {
"id": 1,
"name": "Admin",
"location": "USA"
}
}
//JSON 数组
{
"employees": [
{
"id": 1,
"name": "Admin",
"location": "India"
},
{
"id": 2,
"name": "Author",
"location": "USA"
},
{
"id": 3,
"name": "Visitor",
"location": "USA"
}
]
}
正如我们所看到的,JSON 文档由名称/值对组成。这些名称/值对反映了数据的结构.
5. 学习 JSON
在本 JSON 教程中,我们将通过示例学习有关 JSON 的各种概念.
- JSON 和 XML 之间的区别
- JSON 语法和文档类型
- 如何读取JSON文档
- 如何编写JSON文档
- 将 JSON 转换为字符串,反之亦然等
参考: JSON 简介