Tes*_*lo. 8 javascript json session-storage
好的,所以我有这个JSON:
{"Status":"OK!","ListaPermessi":
[{"IdPermesso":10,"Nome":"WIND_PARAMS"},
{"IdPermesso":11,"Nome":"ADMIN_SERVER"},
{"IdPermesso":21,"Nome":"REC"},
{"IdPermesso":22,"Nome":"REC_DIST"},
{"IdPermesso":23,"Nome":"REC_DIST_CR"}
]}
Run Code Online (Sandbox Code Playgroud)
我的代码是:
var parsedResult = JSON.parse(result); // where result is the above JSON
if (parsedResult.Status === "OK!") {
// Set sessionStorage vars
if (typeof(Storage) !== "undefined") {
// localStorage & sessionStorage support!
sessionStorage.setItem("ListaPermessi", parsedResult.ListaPermessi);
}
else {
// Sorry! No web storage support :(
}
}
Run Code Online (Sandbox Code Playgroud)
但是......这不能正常工作!在分配之后,从Firebug看到的sessionStorage看起来像这样:
sessionStorage:
从javascript 将一个对象数组分配给sessionStorage变量的正确方法是什么?
Jam*_*ice 22
您需要将其重新转换为JSON字符串.您可以使用以下JSON.stringify方法执行此操作:
sessionStorage.setItem("ListaPermessi", JSON.stringify(parsedResult.ListaPermessi));
Run Code Online (Sandbox Code Playgroud)
这样做的原因是Web存储只能存储字符串,以及返回的默认toString方法Object,如您现在所见,"[object Object]".
旁注:typeof是一个操作符,而不是一个函数,因此不需要括号:
if (typeof Storage !== "undefined") { //...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31667 次 |
| 最近记录: |