色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

cookie放入json中文沒了

謝彥文2年前9瀏覽0評論

最近我在編寫一個網站,需要使用cookie來保存用戶的登錄狀態。但是,當我將cookie放入JSON數據中后,中文字符卻出現了問題。我發現,當我將JSON數據轉換為字符串時,中文字符被編碼成了Unicode字符,導致中文字符無法顯示。以下是我的代碼:

var cookie = document.cookie;
var userdata = {
username: "張三",
cookie: cookie
};
var jsondata = JSON.stringify(userdata);
console.log(jsondata);

在控制臺中輸出JSON數據,我發現其中的中文字符已經被轉換為Unicode編碼了:

{"username":"\u5f20\u4e09","cookie":"xxx"}

原因是因為JSON.stringify方法默認會對所有中文字符進行Unicode編碼。為了解決這個問題,我需要通過對JSON.stringify方法進行修改,讓它不進行Unicode編碼。代碼如下:

JSON.stringifyCN = function (obj) {
var out = "";
for (var i = 0; i< obj.length; i++) {
var c = obj.charAt(i);
if (c >= ' ' && c<= '~') {
out += c;
} else {
out += "\\u" + ('0000' + c.charCodeAt(0).toString(16)).slice(-4);
}
}
return out;
};
var cookie = document.cookie;
var userdata = {
username: "張三",
cookie: cookie
};
var jsondata = JSON.stringifyCN(JSON.stringify(userdata));
console.log(jsondata);

這里我定義了一個JSON.stringifyCN方法,它會遍歷要轉換為字符串的對象,在遇到中文字符時,將其轉換為Unicode編碼,并將其存在輸出字符串中。這樣,我們就可以將cookie等一些包含中文字符的數據放入JSON數據中了。