Command Palette

Search for a command to run...

查詢

查詢字串解析器

將 URL 查詢字串解析為結構化 JSON,或從 JSON 物件建立查詢字串。處理重複的鍵、括號數組和編碼。 100% 客戶端。

什麼是查詢字串解析器?

查詢字串解析器將問號後的 URL 部分轉換為結構化資料。查詢字串 q=json+parser&page=2 成為物件 {"q":"json parser","page":"2"},每個鍵和值 URL 解碼後,加號變回空格,%2F 變回斜線。此工具沿著該方向解析,並且還執行相反的操作:它從鍵值對的 JSON 物件建立正確編碼的查詢字串。

查詢字串看起來很簡單,直到出現重複的鍵和數組語法。相同的鍵可能會出現多次,如 tags=react&tags=laravel,許多框架用括號對數組和嵌套對象進行編碼,例如 tags[]=react 或 filter[color]=red。解析器必須決定這些是否成為數組、嵌套物件或最後一個值獲勝標量,並且不同的後端不同意。此工具公開這些選擇,以便您獲得的 JSON 與產生 URL 的系統匹配,並且您建立的查詢字串與將讀取它的系統匹配。

一切都在您的瀏覽器中運行。解析、解碼和編碼是用 JavaScript 完成的,因此不會上傳、記錄或儲存任何內容。對於在查詢中攜帶會話令牌、追蹤參數或簽名值的 URL 來說,這是值得的,因為這些標記永遠不會離開您的機器,並且一旦頁面加載,工具就會保持離線工作。

查詢字串的標準比其普遍性所暗示的要少,重複鍵是實現不同的地方。給定 a=1&a=2,某些框架傳回數組,有些傳回第一個值,有些傳回最後一個值。括號表示法(例如 a[]=1&a[]=2)是許多函式庫採用且沒有規範定義的 PHP 約定,因此不知道它的伺服器將讀取文字鍵 a[]。這裡顯示了這兩種形式,以便您可以看到給定字串實際包含什麼。編碼是另一半:空格可以是加號或 %20,這取決於字串是來自表單提交還是來自 URL 路徑,並且兩者的解碼方式不同。必須對值內的 & 符號進行編碼,否則它會靜默地成為參數分隔符號。

如何使用查詢字串解析器?

  1. 選擇解析或建置

    解析將查詢字串或完整 URL 轉換為 JSON。建置將 JSON 物件轉換為查詢字串。載入樣本以使用數組和編碼查看兩個方向。

  2. 貼上您的輸入

    在解析模式下,貼上完整的 URL 或裸查詢字串; # 之後的片段被忽略,之前的所有內容都被忽略?被剝離。在建置模式下,貼上鍵值對的 JSON 物件。

  3. 設定選項

    選擇如何處理重複鍵、括號鍵是否成為嵌套結構以及建置時如何對數組進行編碼。預設情況下,URL 解碼和加空間開啟。

  4. 複製結果

    讀取參數表並複製 JSON,或複製產生的查詢字串,準備貼上到 URL、取得呼叫或測試中。

主要特點

  • 雙向轉換

    將查詢字串解析為 JSON,然後在一個工具中從 JSON 建立查詢字串,以便您可以在編輯 URL 參數的同時往返 URL。

  • 重複的密鑰和數組

    重複的鍵可以折疊到數組、保留第一個值或保留最後一個值。括號鍵(例如標籤 [] 和過濾 [顏色])解析為數組和嵌套物件。

  • 編碼和解碼正確

    值在解析時進行 URL 解碼,在建置時進行百分比編碼,並具有加作為空格選項,因此保留字元(例如 &、= 和空格)在往返中保留。

  • 完整 URL 或裸字串

    貼上整個 URL,解析器會為您剝離方案、主機、路徑和片段,或只貼上查詢字串。無論哪種方式,您都會得到相同的參數表。

Frequently Asked Questions

查詢字串是問號後面 URL 的一部分,它攜帶參數作為鍵值對,並透過&符號連接,例如?q=json&page=2。 Web 伺服器和用戶端程式碼讀取它以過濾結果、追蹤活動或傳遞狀態。每個鍵和值都經過 URL 編碼,因此可以轉義空格和保留字元。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

query string parserparse query stringquery string to jsonurl query parserbuild query stringquerystring parserurl parameters parserquery string builderjson to query string