在開發Web應用過程中,獲取GET參數是必不可少的。通常情況下,GET參數是以鍵值對的形式出現在URL中。在前端JavaScript中,我們可以使用window.location.search獲取到這些參數的字符串形式。但是,如果需要將其轉為JSON格式,該怎么做呢?
function parseParams(paramStr) { const params = new URLSearchParams(paramStr); const obj = {}; for (const [key, value] of params) { obj[key] = value; } return obj; } const params = parseParams(window.location.search); const json = JSON.stringify(params); console.log(json);
上述代碼中,我們定義了一個parseParams函數,它將參數字符串轉為了一個對象。我們使用URLSearchParams構造函數來解析參數字符串,然后遍歷參數對象并構造新對象。最后,使用JSON.stringify方法將該對象轉為JSON格式字符串。
值得注意的是,我們在解析參數字符串時,只使用了URLSearchParams構造函數。這是因為它可以處理以數組形式出現的參數,同時也可以正確地處理URL編碼。
在實際應用中,我們可以將上述代碼封裝成一個函數,以便在多個地方重復使用。例如:
function getJsonFromParams() { const params = parseParams(window.location.search); const json = JSON.stringify(params); return json; } const json = getJsonFromParams(); console.log(json);
在使用時,我們只需要調用getJsonFromParams函數即可。這種方式不僅可以避免重復編寫代碼,還可以提高代碼的可維護性和可讀性。