JSON 验证和格式化工具
实时验证和格式化您的 JSON
输入 JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
JSON 的历史
JSON(JavaScript 对象表示法)最初由 Douglas Crockford 在 2000 年代初期制定。该格式基于 JavaScript 对象字面量表示法的子集,但作为一种语言无关的数据格式,其实用性导致了它的广泛采用。第一条 JSON 消息于 2001 年 4 月传输。此后,由于其简单性和易用性,JSON 已成为 Web API 的事实标准,在许多应用中取代了 XML。
什么是 JSON?
JSON 是一种轻量级的、基于文本的数据交换格式,完全独立于编程语言。尽管它源自 JavaScript,但 JSON 现在几乎可以与所有编程语言一起使用。它通过键值对和有序列表的简单表示法来表示数据,使其既可读又易于机器解析。
为什么使用 JSON?
- 语言无关:可以与任何编程语言一起使用
- 自描述:数据结构清晰可读
- 轻量级:数据传输开销最小
- 快速:易于解析和生成
- 广泛支持:大多数现代语言都内置支持
- Web友好:浏览器原生支持
- 模式支持:可以通过 JSON Schema 进行验证
- 嵌套结构:支持复杂的数据层次结构
JSON 语法
JSON 语法源自 JavaScript 对象表示法,但有一些特定的规则和限制。
基本结构
- 对象:键值对的无序集合
- 数组:值的有序列表
支持的数据类型
- 字符串:Unicode 文本用双引号括起来
- 数字:整数或浮点数
- 布尔值:true 或 false
- null:表示没有值
- 对象:键值对的无序集合
- 数组:值的有序列表
JSON 在编程语言中的支持
| 语言 | 解析方法 | 字符串化方法 |
|---|---|---|
| JavaScript | JSON.parse() | JSON.stringify() |
| Python | json.loads() | json.dumps() |
| Java | ObjectMapper.readValue() | ObjectMapper.writeValueAsString() |
| C# | JsonSerializer.Deserialize() | JsonSerializer.Serialize() |
| Go | json.Unmarshal() | json.Marshal() |
| PHP | json_decode() | json_encode() |
| Ruby | JSON.parse() | JSON.generate() |
| Rust | serde_json::from_str() | serde_json::to_string() |
| Swift | JSONDecoder().decode() | JSONEncoder().encode() |
| Kotlin | Json.decodeFromString() | Json.encodeToString() |