XML、YAML、JSON的区别
没有冗余标签,用括号和逗号组织,适合程序之间快速交换数据(比如网页和服务器通信),但不能写注释,结构复杂时可读性下降。加注释,人类看起来最舒服,适合写配置文件(比如程序的设置项),但对缩进要求严格(多一个空格就会出错)。假设我们要记录:小明,25 岁,邮箱是 xiaoming@test.com,爱好是篮球和游戏。根据场景选就行:传输数据用 JSON,配置程序用 YAML,严格规范的场景用 XML。
更通俗的方式来理解 XML、JSON 和 YAML 的区别,就像用不同格式写同一件事(比如记录一个人的信息):
场景举例:记录 "小明的信息"
假设我们要记录:小明,25 岁,邮箱是 xiaoming@test.com,爱好是篮球和游戏。
1. XML 格式
就像写一封格式严谨的 "正式书信",必须用 <标签> 把内容包起来,结构很规范但有点啰嗦:
xml
<person>
<name>小明</name>
<age>25</age>
<contact>
<email>xiaoming@test.com</email>
</contact>
<hobbies>
<hobby>篮球</hobby>
<hobby>游戏</hobby>
</hobbies>
</person>
特点:标签成对出现(<name> 和 </name>),适合需要严格规范的场景(比如银行、政府数据交换),但写起来麻烦,文件也大。
2. JSON 格式
就像写一份 "简洁的清单",用 {} 当容器,: 连接键和值,, 分隔项目,比 XML 清爽:
json
{
"person": {
"name": "小明",
"age": 25,
"contact": {
"email": "xiaoming@test.com"
},
"hobbies": ["篮球", "游戏"]
}
}
特点:没有冗余标签,用括号和逗号组织,适合程序之间快速交换数据(比如网页和服务器通信),但不能写注释,结构复杂时可读性下降。
3. YAML 格式
就像写一篇 "手写笔记",用缩进表示层级(就像写文章分段),不用括号和标签,最像自然语言:
yaml
person:
name: 小明
age: 25
contact:
email: xiaoming@test.com
hobbies:
- 篮球 # 最喜欢的运动
- 游戏 # 周末常玩
特点:用空格缩进(类似写文章的段落),支持 # 加注释,人类看起来最舒服,适合写配置文件(比如程序的设置项),但对缩进要求严格(多一个空格就会出错)。
一句话总结
- XML:规矩多、最正式,适合严肃的复杂数据交换。
- JSON:简单直接,程序最爱,适合数据传输。
- YAML:像手写笔记,人类易读,适合写配置。
根据场景选就行:传输数据用 JSON,配置程序用 YAML,严格规范的场景用 XML。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)