如何將 URL 參數轉換為 JavaScript 物件?
使用 Web 應用程式時,經常會遇到包含參數的 URL。這些參數可以攜帶您想要在 JavaScript 程式碼中存取的附加資訊。為此,您需要將 URL 參數轉換為 JavaScript 物件。
單行解決方案
以下單行提供了一種快速而簡單的解決方案將URL 參數轉換為物件的方法:
<code class="javascript">JSON.parse('{"' + decodeURI("abc=foo&def=%5Basf%5D&xyz=5".replace(/&/g, "","").replace(/=/g, "":"")) + '"}')</code>
逐步分解
讓我們逐步分解此解決方案:
Reviver Function
雖然單行解決方案可以處理大多數場景,但它可能會遇到某些字元的問題,例如" URL 參數中的%」。為了解決這個問題,您可以在解析 JSON 物件時使用 reviver 函數:
<code class="javascript">JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })</code>
此 reviver 函數在傳回每個鍵的值之前執行 URI 解碼,確保所有字元都正確處理。
用法範例
要使用任一解決方案,只需將「abc=foo&def=[asf]&xyz=5」替換為您要轉換的實際URL參數即可。輸出將是一個 JavaScript 對象,您可以根據需要存取和操作它。
以上是如何將 URL 參數轉換為 JavaScript 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!