在web開發(fā)中,當(dāng)我們需要用json對(duì)象來(lái)存儲(chǔ)數(shù)據(jù)時(shí),很可能會(huì)遇到需要將url進(jìn)行編碼的情況。這時(shí),我們可使用encodeURL對(duì)需要編碼的url進(jìn)行編碼處理。但是,有一些開發(fā)者會(huì)想知道encodeURL是否可以將json串進(jìn)行編碼,接下來(lái),我們來(lái)探討一下。
JSON.stringify(obj);
在對(duì)json串進(jìn)行編碼時(shí),我們可以使用JSON.stringify()將json對(duì)象轉(zhuǎn)換為json字符串。接著,我們?cè)賹son字符串作為encodeURL函數(shù)的參數(shù)進(jìn)行編碼。實(shí)際上,我們可以利用encodeURIComponent()方法對(duì)json字符串進(jìn)行編碼。下面我們來(lái)看一個(gè)代碼實(shí)例:
const obj = {name:'張三',age:20}; //json對(duì)象 const jsonStr = JSON.stringify(obj); //將json對(duì)象轉(zhuǎn)為json字符串 const urlEncoded = encodeURIComponent(jsonStr); //對(duì)json字符串進(jìn)行編碼 console.log(urlEncoded); //輸出結(jié)果:%7B%22name%22%3A%22%E5%BC%A0%E4%B8%89%22%2C%22age%22%3A20%7D
如上面的代碼所示,我們首先定義了一個(gè)json對(duì)象,然后將它通過(guò)JSON.stringify()方法轉(zhuǎn)化為json字符串。接著,我們將json字符串作為參數(shù)傳遞給encodeURIComponent()方法進(jìn)行編碼得到結(jié)果:%7B%22name%22%3A%22%E5%BC%A0%E4%B8%89%22%2C%22age%22%3A20%7D。可見,我們成功將json字符串進(jìn)行了編碼處理。
綜上,我們可以得出結(jié)論:我們可以使用encodeURL將json字符串進(jìn)行編碼處理,但是需要先使用JSON.stringify()將json對(duì)象轉(zhuǎn)化為json字符串,然后再將其傳入encodeURIComponent()方法進(jìn)行編碼處理。