$.ajax({
url: "get_cards.php",
type: "GET",
data: {selection:JSON.stringify(selection)},
success: function(data) {
var json = JSON.parse(data);
sessionStorage.setItem("json", JSON.stringify(json));
}
});
然后,在另一个文件中,我从sessionStorage的检索JSON:的Javascript:试图访问一个JSON数组的元素让我单个字符
var json = JSON.parse(JSON.stringify(sessionStorage.getItem("json")));
if(json) {
sessionStorage.removeItem("json");
}
这让我JSON对象的数组,例如:[{'name':'Bob',...}]
。但是,当我尝试访问数组的第一个元素时:json[0]
,我得到'['
,当我尝试json[0].name
时,得到undefined
。 json
的长度被报告为159,因此它将每个单独的字符计数为一个元素。
编辑:当我更新到:
var json = JSON.parse(sessionStorage.getItem("json"));
if(json) {
sessionStorage.removeItem("json");
}
我得到的长度1(这是正确的),但访问错误时json[0].name
:
Uncaught TypeError: Cannot read property '0' of null
at HTMLDocument.<anonymous> (studying.js:10)
at j (jquery.min.js:2)
at k (jquery.min.js:2)
你有一个字符串。使用'JSON。解析()'正确 – Weedoze
你为什么要将它串起来再解析一遍? – Cruiser
您已经将json字符串保存在本地存储中,为什么要调用stringify两次? – abhishekkannojia