前言:為什麼智能體時代,JSON 成了“必修課”?
在 AI 智能體(Agent)開發過程中,我們並不是簡單地“和模型聊天”,而是在持續地進行結構化數據交互:
- 智能體如何接收參數?
- 工具函數如何返回結果?
- 如何約束大模型的輸出格式?
- 如何讓多個 Agent 協同工作?
這些問題,最終都會指向一個答案 —— JSON(JavaScript Object Notation)。
可以毫不誇張地説:不會 JSON,就很難真正玩轉智能體。
本文將從零基礎出發,結合 Agent 實戰場景,系統梳理 JSON 的核心知識,幫你一次性打通 JSON 的學習脈絡。
一、什麼是 JSON?一句話講清楚
JSON 是一種輕量級、跨語言的數據交換格式。
它最初來源於 JavaScript,但如今已經成為:
- Web 接口的事實標準
- AI 模型函數調用的核心載體
- 智能體配置與通信的通用語言
JSON 的核心優勢
- ✅ 人類易讀:結構清晰,類似字典
- ✅ 機器友好:體積小,解析快
- ✅ 語言無關:Python / Java / Go / C++ 全支持
- ✅ 天然適合 AI 輸出約束
📌 在 Agent 開發中,JSON 本質上承擔的是 “模型與世界之間的協議”。
二、JSON 的語法規則(90% 錯誤都出在這裏)
JSON 的語法非常嚴格,下面 4 條規則一定要牢記:
- 鍵值對結構
"name": "椰椰"
- 多個字段用逗號分隔
- 對象使用花括號
{} - 數組使用中括號
[]
JSON 支持的數據類型
number:數字(整數 / 浮點數)string:字符串(⚠️ 必須雙引號)boolean:true / falsearray:數組object:對象null:空值
📌 注意:JSON 沒有 undefined、函數、日期類型。
三、實戰示例:一個 AI 智能體的真實配置
下面是一個**天氣查詢智能體(Weather Agent)**的配置示例:
{
"agent_name": "天氣小助手",
"version": 1.0,
"is_active": true,
"capabilities": [
"實時天氣",
"災害預警",
"穿衣建議"
],
"author": {
"name": "椰椰",
"platform": "CSDN"
}
}
這個 JSON 在智能體中能做什麼?
agent_name:Agent 身份標識capabilities:能力描述(可用於模型提示)is_active:動態啓停控制author:元信息(日誌 / 管理用途)
📌 在真實項目中,這類 JSON 通常用於:
- Agent 初始化
- Prompt 注入
- 多智能體調度
四、核心操作:解析與序列化(開發必會)
在程序中,我們經常需要在:
JSON 字符串 ⇄ 編程語言對象
之間來回轉換。
1️⃣ JSON.parse() —— 反序列化
將 JSON 字符串轉成對象:
const jsonString = '{"name": "Agent", "level": 5}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // Agent
📌 常見使用場景:
- 接收接口返回數據
- 解析模型輸出
2️⃣ JSON.stringify() —— 序列化
將對象轉成 JSON 字符串:
const user = { id: 101, status: "online" };
const sendData = JSON.stringify(user);
console.log(sendData);
// {"id":101,"status":"online"}
📌 常見使用場景:
- 向 API 發送請求
- 作為 Prompt 輸入給大模型
五、避坑指南:新手 99% 會踩的雷
❌ 1. 使用了單引號
{ 'name': 'Agent' } // 錯誤
✅ 正確寫法:
{ "name": "Agent" }
❌ 2. 末尾多了一個逗號
{
"id": 1,
}
📌 在嚴格解析環境中會直接報錯。
❌ 3. 在 JSON 中寫註釋
JSON 不支持註釋:
{
"name": "Agent" // 不合法
}
✅ 替代方案:
{
"name": "Agent",
"_comment": "這是智能體名稱"
}
結語:JSON,是智能體世界的“通用語”
在 AI 智能體開發中:
- Prompt 是思想
- 模型是大腦
- JSON 是血液
當你真正熟練掌握 JSON,你會發現:
可以毫不誇張地説:不會 JSON,就很難真正玩轉智能體。