$.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));
}
});
Sau đó, trong tập tin khác Tôi lấy JSON từ sessionStorage:Javascript: Đang cố gắng để truy cập vào các yếu tố của một mảng JSON mang lại cho tôi nhân vật cá nhân
var json = JSON.parse(JSON.stringify(sessionStorage.getItem("json")));
if(json) {
sessionStorage.removeItem("json");
}
này mang lại cho tôi một mảng của các đối tượng JSON, ví dụ : [{'name':'Bob',...}]
. Tuy nhiên, khi tôi cố truy cập phần tử đầu tiên của mảng: json[0]
, tôi nhận được '['
và khi tôi thử json[0].name
Tôi nhận được undefined
. Độ dài json
được báo cáo là 159, do đó, nó tính từng ký tự riêng lẻ như một phần tử.
EDIT: Khi tôi cập nhật:
var json = JSON.parse(sessionStorage.getItem("json"));
if(json) {
sessionStorage.removeItem("json");
}
tôi nhận được một chiều dài 1 (đó là chính xác), nhưng một lỗi khi truy cập vào 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)
Bạn có một chuỗi. Sử dụng 'JSON.parse() 'một cách chính xác – Weedoze
tại sao bạn lại xâu chuỗi nó lại chỉ để phân tích cú pháp nó một lần nữa? – Cruiser
Bạn đã lưu chuỗi json trong bộ nhớ cục bộ, Tại sao bạn gọi xâu chuỗi hai lần? – abhishekkannojia