亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 JSON 數組字符串化

將 JSON 數組字符串化

小唯快跑啊 2023-06-29 15:48:35
我想將 JSON 數組保存為 cookie 的形式。例如,數組如下所示。[{"name":"Push_up", "values":{"times":35, "date":"Jan 1", "sec":3}},  {"name":"Pull_up", "values":{"times":20, "date":"Mar 4", "sec":6}}]這是一個用于存儲cookie的函數。function setCookie(name, value, exp=1){    var date = new Date();    date.setTime(date.getTime() + exp*24*60*60*1000);    document.cookie = name + '=' + value + ';expires=' + date.toUTCString() + ';path=/';    console.log(name + '=' + value + ';expires=' + date.toUTCString() + ';path=/');}我嘗試使用 Array.toString 并將其保存為 cookie,但它沒有正確字符串化,因此 cookie 未成功保存。我怎么解決這個問題?
查看完整描述

2 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

要序列化 JSON,您應該使用JSON.stringify.

但對于一般情況,您還希望轉義 cookie 中具有特殊含義的字符,例如=,因此使用escape

document.cookie?=?escape(JSON.stringify(value));

但是,更好的是 - 服務器真的需要這些信息,還是只與客戶端相關?如果它只與客戶端相關,那么有一個更好的解決方案,那就是使用本地存儲,例如:

localStorage.exerciseInfo?=?JSON.stringify(arrOfExercises);

并檢索它

const?arrOfExercises?=?JSON.parse(localStorage.exerciseInfo?||?'[]');

最好僅當存在客戶端和服務器都需要能夠持久讀取的信息(例如會話或登錄憑據)時才使用 cookie。


查看完整回答
反對 回復 2023-06-29
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

var a = [{"name":"Push_up", "values":{"times":35, "date":"Jan 1", "sec":3}}, 

 {"name":"Pull_up", "values":{"times":20, "date":"Mar 4", "sec":6}}];



JSON.stringify(a);


    "[{"name":"Push_up","values":{"times":35,"date":"Jan 1","sec":3}},

{"name":"Pull_up","values":{"times":20,"date":"Mar 4","sec":6}}]"


查看完整回答
反對 回復 2023-06-29
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號