AI Coding中的必备基础7——JSON/YAML
JSON是一种轻量级数据交换格式,采用键值对和数组结构,支持6种基础数据类型。相比XML,JSON具有简洁、解析快、体积小等优势,成为现代API交互的标准。在AI编程中,JSON常用于配置文件、结构化数据输出和API交互。YAML作为JSON的补充,更注重可读性,支持注释和多行文本,适合人工编辑的配置文件。两者各有侧重:JSON适合机器间数据交换,YAML适合人工配置管理。开发时可借助VSCode工具提升处理效率。


JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
如果说 Markdown 是给人看的“优美散文”,那么 JSON 就是给机器读的“精练简报”。虽然它起源于 JavaScript,但它现在已经是所有主流编程语言(Python, C++, Go, Java 等)之间传递数据的事实标准。
1. JSON 的核心结构
JSON 的语法非常直观,主要由两种结构组成:
-
对象 (Object): 用花括号
{}包围,表示一组无序的“键值对(Key-Value)”。 -
数组 (Array): 用方括号
[]包围,表示一组有序的值。
2. 语法规则与示例
一份标准的 JSON 数据看起来是这样的:
JSON
{
"project": "车载 TBox 协议分析",
"version": 2.0,
"is_active": true,
"tags": ["5G", "SOME/IP", "DDS"],
"author": {
"name": "5Gdemo",
"role": "AI Collaborator"
},
"null_value": null
}
必须遵守的“硬约束”:
-
双引号: 所有的“键(Key)”和“字符串值(String)”必须使用双引号,不能用单引号。
-
末尾无逗号: 最后一个键值对的后面不能有逗号。
-
嵌套: 对象和数组可以无限嵌套。
3. 支持的数据类型
JSON 仅支持以下 6 种基础数据类型,这保证了它的跨平台通用性:
| 类型 | 说明 | 示例 |
| String | 字符串,必须用双引号。 | "Hello World" |
| Number | 数字,支持整数、浮点数。 | 123, 3.1415 |
| Boolean | 布尔值。 | true, false |
| Array | 数组/列表。 | [1, 2, 3] |
| Object | 对象/字典。 | {"key": "value"} |
| Null | 空值。 | null |
4. 为什么 JSON 击败了 XML?
在 JSON 出现之前,XML 是主流,但现在几乎所有现代 API(如天气预报接口、高德地图接口)都首选 JSON。
| 特性 | JSON | XML |
| 可读性 | 简洁、清晰。 | 冗长(充满 <tags>)。 |
| 解析速度 | 极快(原生支持,开销小)。 | 较慢(需要复杂的解析引擎)。 |
| 数据大小 | 体积小,节省带宽。 | 体积大,冗余字符多。 |
| 代码转换 | 直接映射为对象的字典/列表。 | 需要繁琐的文档对象模型转换。 |
5. 在 AI Coding 中的实战场景
对于你正在进行的 AI 辅助编程,JSON 的作用至关重要:
-
配置文件: VS Code 的所有配置(
settings.json)和项目定义(package.json)都是 JSON。 -
结构化输出: 当你要求 AI:“请以 JSON 格式输出车载 5G 芯片的参数对比”时,AI 会给出一段可以直接被 Python 脚本解析的数据,而不是一段乱糟糟的文字。
-
API 交互: 如果你编写一个脚本去调用大模型(LLM)的接口,你发送的请求和收到的回答,本质上都是 JSON 包。
💡 实用小工具
如果你在 VS Code 中处理复杂的 JSON,建议:
-
按
Shift + Alt + F:自动格式化,让乱成一团的代码瞬间整齐。 -
使用插件 "JSON Crack":可以将复杂的 JSON 转换成可视化的逻辑图。
如果说 JSON 是给机器读的“精练简报”,那么 YAML(YAML Ain't Markup Language)就是专门为人类设计的“清新情书”。
在 2026 年的开发环境下,凡是需要人手去改的配置文件(比如 Docker、Kubernetes、GitHub Actions、或者你关注的 OpenClaw AI Agent 配置),几乎清一色都在用 YAML。
1. 为什么大家都爱 YAML?
-
极度可读: 它去掉了 JSON 那些密密麻麻的引号、大括号和逗号,改用缩进来表示层级。
-
支持注释: 这是它对比 JSON 的最大杀手锏。你可以写下“为什么要改这个参数”,而不是让后来的同事猜谜。
-
支持多行文本: 处理一段很长的 Prompt 或说明文字时,YAML 的写法比 JSON 优雅得多。
-
原生支持复杂类型: 比如支持“锚点”,可以让你在文档的一处定义变量,在另一处直接引用,避免重复。
2. YAML 的核心语法规则
YAML 看起来很像 Python,它的灵魂在于空格。
A. 基础结构
YAML
# 这是一个注释
project: "车载 5G TBox" # 键值对,冒号后必须有空格
version: 2.0
is_active: true
# 列表(数组)用短横线表示
protocols:
- SOME/IP
- DDS
- CAN-FD
B. 对象嵌套(靠缩进实现)
YAML
hardware:
chipset: "Balong 5000"
mcu_less: true
peripherals:
- antenna: "MIMO 4x4"
gain: 5.5
C. 必须遵守的“军规”:
-
大小写敏感:
Version和version是两回事。 -
缩进禁用 Tab: 必须使用空格(通常是 2 个或 4 个)。如果你在 VS Code 里误用了 Tab,YAML 解析器会报错。
-
冒号后必须有空格:
key: value是对的,key:value是错的。
3. YAML vs. JSON 深度对比
| 特性 | YAML | JSON |
| 可读性 | 极高,像散文 | 一般,像代码 |
| 注释 | 支持 (#) |
不支持 |
| 层级表示 | 缩进 | 大括号 {} |
| 主要用途 | 配置文件、CI/CD 脚本 | 数据交换、API 接口 |
| 解析速度 | 较慢 | 极快 |
| 容错性 | 对空格敏感,容易写错缩进 | 对符号敏感,容易漏掉逗号 |
4. 在 AI Coding 中的实战场景
对于你正在研究的 AI 领域,YAML 几乎是“空气”:
-
AI Agent 配置: 像 OpenClaw 这种平台,通常使用 YAML 来定义 Agent 的角色、工具集和记忆存储路径。
-
CI/CD 流水线: 如果你想通过 GitHub 自动测试你的 C++ 代码,你需要写
.github/workflows/main.yml。 -
Docker 部署:
docker-compose.yml是定义多容器协作的标准。 -
Prompt 模板库: 很多资深开发者喜欢把长篇大论的 Prompt 存在
.yaml文件里,利用 YAML 的>或|符号保持文本换行。
5. VS Code 开发建议
由于 YAML 对缩进有着病态的要求,建议在 VS Code 中:
-
安装插件:"YAML" (Red Hat 出品)。它能提供语法校验、自动补全。
-
开启显示空白字符:这能帮你一眼看出哪里混进了 Tab 键。
💡 总结
YAML 是“人机对话”的终点,JSON 是“机机对话”的起点。 当你需要手动配置一个复杂系统(比如 Zonal 控制器的远程 I/O 映射)时,选 YAML;当你的脚本需要把数据快速发给另一个脚本时,选 JSON。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)