Agent概述(一)
AI技術基礎(一)
JSON-RPC 2.0 協議詳解
JSON-RPC 2.0 是一種基于 JSON 的輕量級遠程過程調用(RPC)協議,旨在簡化跨語言、跨平臺的遠程通信。以下從協議特性、核心結構、錯誤處理、批量請求等角度進行詳細解析:
一、協議概述
1. 設計原則
? 簡單性:協議規范簡潔,僅需解析 JSON 即可實現通信。
? 無狀態:每個請求獨立,服務端不保存客戶端狀態,適合分布式系統。
? 跨平臺:基于 JSON 的通用數據格式,支持 Java、Python、JavaScript 等多種語言。
2. 核心特性
? 輕量級傳輸:數據量小,適合帶寬受限場景(如物聯網)。
? 通知機制:無需響應的單向請求(通過省略 id
字段實現)。
? 批量調用:支持單次請求中包含多個獨立調用,提升效率。
二、核心數據結構
1. 請求對象
? 必填字段:
? `jsonrpc`: 固定為 "2.0",標識協議版本。 ? `method`: 調用的遠程方法名(區分大小寫)。
? 可選字段:
? `params`: 參數(數組或對象),若方法無需參數可省略。 ? `id`: 唯一標識符(數字/字符串),用于匹配響應;若為通知則省略。
示例:
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
2. 響應對象
? 成功響應:包含 result
字段,值為方法返回值。
? 錯誤響應:包含 error
字段,描述錯誤詳情(見下文)。
? id
必須與請求一致,用于關聯上下文。
示例:
{"jsonrpc"