概述
JSON stringify和字串化工具幫助您在 JSON 字串和 JSON 物件之間進行轉換。它支援將 JSON 字串解析為格式化物件,以及將物件字串化為 JSON 格式。
JSON parse
將 JSON 字串轉換為格式化物件。此模式幫助您驗證和格式化 JSON 字串。
原始 JSON 字串:
{\"name\":\"John Doe\",\"age\":30,\"isStudent\":false,\"hobbies\":[\"reading\",\"gaming\"],\"address\":{\"city\":\"New York\",\"country\":\"USA\"}}格式化的 JSON:
{
"name": "John Doe",
"age": 30,
"isStudent": false,
"hobbies": [
"reading",
"gaming"
],
"address": {
"city": "New York",
"country": "USA"
}
}JSON stringify
將 JSON 字串轉換為格式化物件。此模式幫助您驗證和格式化 JSON 字串。
JSON 物件:
const personData = {
name: "John Doe",
age: 30,
isStudent: false,
hobbies: ["reading", "gaming"],
address: {
city: "New York",
country: "USA"
}
};轉換為 JSON 字串:
// 壓縮的 JSON 字串(帶轉義引號)
const rawJson = "{\"name\":\"John Doe\",\"age\":30,\"isStudent\":false,\"hobbies\":[\"reading\",\"gaming\"],\"address\":{\"city\":\"New York\",\"country\":\"USA\"}}";
// 美化的 JSON 字串
const prettyJson = JSON.stringify(personData, null, 2);選項
- 縮排大小:選擇 2、4 或 8 個空格進行格式化
- 轉義 Unicode:將 Unicode 字元轉換為 \uXXXX 格式
- 移除空白:輸出無空格或換行的壓縮 JSON
還原經過轉義的 JSON
經過轉義的 JSON(也稱為字串化或雙重編碼的 JSON)是指被存放在 JSON 字串裡的 JSON 文件。每個引號都會變成 \",每個換行都會變成 \n。只要 JSON 經過了把它當作純文字而非結構化資料處理的系統,就會出現這種情況。
常見來源
- 把請求或回應內容當作單一字串欄位記錄的日誌
- 對巢狀內容做了兩次序列化的 API,因此該值以字串而非物件的形式回傳
- 存放序列化文件的資料庫 TEXT 或 VARCHAR 欄位
- 把原始事件包在信封結構裡的 Webhook 內容
- 從偵錯工具或瀏覽器開發者工具複製出來的值,本身已經是轉義後的形式
如何還原
把轉義後的字串貼到輸入框並執行 Parse,工具會移除一層編碼並格式化輸出。如果結果仍然是一串帶有大量反斜線的字串,代表該文件被編碼了不止一次——請對結果再次執行 Parse,直到出現真正的結構為止。
轉義後的輸入:
"{\"order\":{\"id\":41,\"note\":\"line one\\nline two\"}}"解析之後:
{
"order": {
"id": 41,
"note": "line one
line two"
}
}常見的轉義問題
大部分解析失敗並非因為文件格式混亂,而是因為它「幾乎」就是 JSON。以下幾種情況幾乎涵蓋了全部原因。
輸出仍然是一長串轉義字串
該值被編碼了兩次。請對結果再次執行 Parse——每執行一次正好移除一層編碼。
文字顯示的是 \n 而不是換行
在 JSON 字串內部,\n 是由兩個字元組成的轉義序列,並不是換行字元。解析會把它還原成真正的換行,直接對原始文字做尋找取代則不會。
從設定檔複製的內容無法解析
JSON 必須使用雙引號。以單引號包住的鍵和值在 JavaScript 中合法,但並不是合法的 JSON。
解析在接近結尾處回報非預期的符號錯誤
JSON 不允許在物件或陣列的最後一個元素後面留下逗號。JavaScript 允許,因此手動編輯過的檔案經常會多出一個。
從文書軟體或通訊軟體複製的內容無法解析
這些軟體會把直引號替換成印刷體引號,而 JSON 無法辨識。請重新輸入引號,或先透過純文字編輯器貼上一次。
檔案看起來正常,卻提示第一個字元不合法
該檔案開頭帶有 UTF-8 位元組順序標記(BOM)。請以「UTF-8 無 BOM」的格式重新儲存。
功能特點
- 將 JSON 字串解析為格式化物件
- 將 JSON 物件字串化為 JSON 格式
- 可配置的縮排(2、4 或 8 個空格)
- Unicode 字元轉義選項
- 錯誤驗證和幫助訊息
- 複製結果到剪貼簿
- 使用範例資料快速測試
使用技巧
- 使用「載入範例」按鈕查看範例輸入
- 在字串化模式中,您可以使用帶單引號和無引號鍵的 JSON 物件表示法
- 工具會自動使用適當的縮排格式化輸出
- 使用複製按鈕直接將輸出複製到剪貼簿
- 檢查錯誤訊息以解決輸入中的驗證問題