JSON 資料會上傳到伺服器嗎?
不會。解析、格式化、樹狀顯示和複製都在瀏覽器本機透過 JavaScript 完成,頁面沒有後端 API,也不會把你貼上的內容傳送到任何伺服器。適合檢視包含內部欄位的 API 回應、日誌片段和設定檔。用「JSON 網址」抓取時也一樣不經過本站:請求是你的瀏覽器直接送給那個網址的。當然,那台伺服器本身會看到這次存取,所以內網網址和連結裡帶 token 的 API 請自己斟酌。
data.items[0].id)與對應的值。兩者改的只是空白字元,資料本身一模一樣。格式化是加上換行和縮排給人看的,串接 API、看日誌、審設定檔的時候用;壓縮是把所有多餘空白去掉,減小體積,寫進請求主體、存進資料庫或塞進環境變數的時候用。一段擠成一行的 JSON 不是「壞掉了」,只是沒有為閱讀排版,貼進來格式化一下即可。
按出現頻率大致是:最後一個元素後面多了一個逗號;用了單引號而不是雙引號;寫了雙斜線註解;鍵名沒加引號;值裡出現了 NaN、undefined 或者 Python 風格的 True / None;字串裡有沒跳脫的換行或反斜線。這些寫法在 JavaScript 或 Python 原始碼裡都合法,但 JSON 標準不接受,從程式碼裡複製片段過來時尤其容易踩到。還有一種看不見的情況是檔案開頭帶 BOM 或不可見空白,從記事本另存或從網頁複製時可能混進來。
真實 API 回應常常巢狀五六層,光靠縮排翻找很累。樹狀檢視可以把不關心的分支摺疊起來,一眼看清陣列有多少個元素、某個欄位在第幾層,也能直接把節點路徑複製出來貼到程式碼裡。排查線上問題時,日誌裡的 JSON 往往是被當成字串再次巢狀的,帶著一堆反斜線,先去跳脫再解析就能正常展開。
JSON 是一種資料交換格式,只有物件、陣列、字串、數字、布林和 null 六種型別,鍵必須用雙引號包起來,不允許函式、日期物件、註解和尾隨逗號。JavaScript 的物件字面值比它寬鬆得多。另外 JSON 數字沒有精度上限的規定,而多數解析器按雙精度浮點處理,超過 2 的 53 次方的整數(比如雪花演算法產生的 ID)會遺失末尾幾位,這類欄位建議在 API 裡就用字串傳。
不會。解析、格式化、樹狀顯示和複製都在瀏覽器本機透過 JavaScript 完成,頁面沒有後端 API,也不會把你貼上的內容傳送到任何伺服器。適合檢視包含內部欄位的 API 回應、日誌片段和設定檔。用「JSON 網址」抓取時也一樣不經過本站:請求是你的瀏覽器直接送給那個網址的。當然,那台伺服器本身會看到這次存取,所以內網網址和連結裡帶 token 的 API 請自己斟酌。
可以。把網址填進頂部的「JSON 網址」欄,點「獲取」或直接按 Enter,內容會抓下來放進左邊並立刻解析;只寫 example.com/data.json 這樣的裸網址也行,會自動補上 https://。前提是那個網址允許跨來源存取 —— 瀏覽器只有在回應裡看到 Access-Control-Allow-Origin 才會把內容交給頁面。raw.githubusercontent.com、jsDelivr 和多數公開 API 都滿足,公司內網 API 和需要登入的 API 通常不滿足。
大多數時候是跨來源被擋。瀏覽器出於安全考量不會把失敗原因告訴頁面,只給一個籠統的錯誤,所以工具也只能籠統地提示 —— 按 F12 打開主控台,真正的原因寫在那裡。如果確認是跨來源,頁面這邊沒有辦法繞過:本站是純靜態的,沒有後端可以代抓,也不會把你的網址轉發給第三方代理服務,那等於把網址連同裡面可能帶的 token 一起交出去。可行的辦法是把 JSON 下載到本機再貼進來,或者用 curl 取下來。另外,http 開頭的網址在本頁(https)會被瀏覽器當成混合內容直接擋掉,請求根本送不出去。
不能,這是瀏覽器的硬性限制。Referer 屬於「禁止修改的請求標頭」,頁面腳本給它賦值會被靜默忽略;fetch 另有一個 referrer 選項,但只要填的是別人的網域,瀏覽器同樣會悄悄換回本頁自己的網址 —— 兩種寫法都不會報錯,只是不生效。所以網頁裡聲稱能偽造 Referer 的工具,背後一定有一台伺服器在替你送請求。頁面真正能選的只有兩種:按預設傳送本站來源,或者勾上「不傳送 Referer」一個都不傳 —— 後者對某些拿來源做防盜連結的網址有用。
右側會顯示瀏覽器回報的錯誤訊息以及大致的行號和欄號。常見原因包括:使用了單引號而不是雙引號、鍵名沒有加引號、最後一個元素多了逗號、內容裡混入了註解,或者複製時把 JSON 截斷了。按提示定位到對應位置修正即可。
樹狀結構需要為每個節點產生一個 DOM 元素,節點數量非常多時渲染會變慢。工具對超大文件預設只展開前幾層,其餘部分保持摺疊狀態,展開時再渲染,可以顯著減少卡頓。如果檔案特別大,建議先擷取關心的片段再檢視。
有些日誌或資料庫欄位會把一段 JSON 當成字串儲存,內容裡全是 \" 這樣的反斜線。點「去跳脫」可以把這種字串還原成正常 JSON 再解析;反過來點「跳脫」,則把目前的 JSON 轉成可以嵌進字串裡的形式。
可以。滑鼠停留到任意節點行,右側會出現複製圖示,點擊後複製該節點的存取路徑,例如 data.items[0].name,可以直接貼上到程式碼或除錯工具裡使用。按住 Shift 再點擊則複製該節點的值。
解析使用瀏覽器內建的標準 JSON.parse,因此只支援標準 JSON 語法,不支援註解、單引號、尾隨逗號和未加引號的鍵名。如果你的內容屬於 JSON5 / JSONC,需要先手動去掉這些擴充寫法。
JavaScript 的數字精度有限,超過 2^53 的整數(例如某些雪花 ID)在解析後可能出現末尾幾位變化。這是所有基於 JSON.parse 的工具的共同限制。遇到這類欄位,建議在伺服器端把 ID 用字串型別回傳。
多半是 Unix 時間戳記。10 位是秒、13 位是毫秒,格式化之後仍然是一串數字,樹狀檢視不會替你翻譯它。把它貼到時間戳轉換裡就能看到對應的日期,也能反過來把日期轉成時間戳記去建構請求參數。