BSON 與 JSON 互相轉換器
使用 encode 將 JSON 物件轉成 BSON 十六進位位元組,或以 decode 將完整 BSON 十六進位資料物件轉回 JSON。長度與數值採小端序儲存。支援字串、布林值、null、有限 double、int32、int64、內嵌資料物件與陣列。
關於 bson 與 json 互相轉換器
BSON 與 JSON 互相轉換器:使用 encode 將 JSON 物件轉成 BSON 十六進位位元組,或以 decode 將完整 BSON 十六進位資料物件轉回 JSON。長度與數值採小端序儲存。支援字串、布林值、null、有限 double、int32、int64、內嵌資料物件與陣列。
此工具的運作方式
使用 encode 將 JSON 物件轉成 BSON 十六進位位元組,或以 decode 將完整 BSON 十六進位資料物件轉回 JSON。長度與數值採小端序儲存。支援字串、布林值、null、有限 double、int32、int64、內嵌資料物件與陣列。
執行管線與計算架構:
- 將 {"name":"CZOA","ok":true} 貼入「輸入」。
- 將「第二個輸入/運算式」設為 encode,按下「在本機執行」。
- 將「輸出」與 25 位元組範例比對。反向轉換時,將這些十六進位位元組貼入「輸入」,第二個欄位設為 decode,再次執行。
實際範例與應用方式
實際應用場景: 將支援的 JSON 文件編碼成 BSON 十六進位。
範例輸入:
演算法運算處理: 以 little-endian 寫入文件長度、字串與布林元素。
示例輸出:
限制與特殊情況
BSON 資料物件上限為 16 MiB,包含根物件最多 100 層。十六進位輸入允許 ASCII 空格、定位字元與換行。拒絕重複欄位、錯誤長度、無效 UTF-8、無效布林值、不連續的陣列索引及尾端多餘資料。不支援 BSON 的 ObjectId、日期、二進位資料、正規表示式及 Decimal128 型別。 編碼接受 −9007199254740991 至 9007199254740991 的安全 JSON 整數:可容納時使用 int32,否則使用 int64。小數採 binary64 及其捨入規則。拒絕非零值下溢為零及非有限數。解碼後超出安全範圍的 int64 會成為十進位字串;再次編碼這些字串會產生 BSON 字串,因此不保留原本的 int64 型別。JSON 轉換可能正規化數字寫法、物件欄位順序及整數儲存寬度;往返後的 BSON 位元組不一定與原始資料完全相同。 本工具不解讀 MongoDB Extended JSON。含有 $oid、$date 或 $numberLong 的物件仍視為一般巢狀 JSON 物件,這些名稱不會建立特殊 BSON 值。範例將 {"name":"CZOA","ok":true} 編碼成 25 位元組的 BSON 資料物件。反向轉換時,貼上完整十六進位結果,並將第二個欄位設為 decode。
瀏覽器處理與隱私範圍
工具功能的設計是在瀏覽器中處理輸入,不會刻意將輸入傳送至 CZOA 工具處理伺服器。網站資源、流量分析或廣告可能另有網路請求。瀏覽器、擴充功能及裝置管理軟體不在此範圍內。
客戶端執行與驗證方法學
本工具的有效負載處理設計為在瀏覽器內透過 JavaScript 或 Web Worker 於本機執行。網站資源、流量分析或廣告可能另有網路請求。機密性、可重複性與延遲取決於瀏覽器環境,並非絕對保證。
遵循標準與技術規範
- BSON Specification 1.1 (supported JSON-compatible types only)
- RFC 8259 (JSON)
- IEEE 754 binary64; UTF-8
內容負責單位:CZOA Tools · 最後複核:2026-09-15 · 複核方法
使用方式
- 將 {"name":"CZOA","ok":true} 貼入「輸入」。
- 將「第二個輸入/運算式」設為 encode,按下「在本機執行」。
- 將「輸出」與 25 位元組範例比對。反向轉換時,將這些十六進位位元組貼入「輸入」,第二個欄位設為 decode,再次執行。
常見問題
此頁面執行哪種 BSON 轉換?+
它會把支援的 JSON 值編碼成單一 BSON 結構資料並顯示十六進位,或解碼一個完整 BSON 十六進位結構。BSON 長度與數值欄位依 little-endian 讀寫。
此 converter 支援哪些 BSON 值與整數界線?+
支援字串、布林、null、有限 double、int32、int64、巢狀結構與陣列。安全 JSON 整數選 int32 或 int64;超出 JavaScript 安全精度的已解碼 int64 會顯示為十進位字串。
BSON 解碼後再編碼會保留原始位元組嗎?+
不保證。由不安全 int64 得到的十進位字串重新編碼會變成 BSON string;JSON 的數字寫法、欄位順序與整數寬度也可能正規化,因此不是位元組保留回轉。
解碼器會拒絕哪些 BSON?+
它拒絕錯誤長度、無效 UTF-8、重複欄位、非連續陣列索引與尾端額外位元組。單一結構上限是 16 MiB 和 100 層;ObjectId、日期、binary、regex、Decimal128 不在支援子集。
