내 로컬 저장소의 데이터로 채우려는 JSON 개체 직원이 있습니다. 우선 stringify()
을 사용하여 JSON 객체를 로컬 저장소에 저장했습니다.JSON 개체에 JSON 개체 추가
sessionStorage.setItem('Employee3', JSON.stringify({id: 3, firstName: 'Dwight', lastName: 'Schrute', title: 'Assistant Regional Manager', managerId: 2, managerName: 'Michael Scott', city: 'Scranton, PA', officePhone: '570-444-4444', cellPhone: '570-333-3333', email: '[email protected]', reportCount: 0}));
지금 내 직원 개체를 채우려 :
employees: {},
populate: function() {
var i = i;
Object.keys(sessionStorage).forEach(function(key){
if (/^Employee/.test(key)) {
this.employees[i] = $.parseJSON(sessionStorage.getItem(key));
i++;
}
});
},
제대로 JSON 개체를 반환 $.parseJSON(sessionStorage.getItem(key))
기능. 직원이 객체에 할당하는 것은 실패
catch되지 않은 형식 오류 : 정의되지 않은
'employees'는 배열로 취급되는 반면 개체입니다. 'employees'를 배열로 선언하는 것은 어떨까요? – shahkalpesh
원래 스 니펫에서는 localstorage를 사용하지 않았으므로 지금 추가하고 있습니다. 그들은 그것을 배열로 취급하고 작동했습니다 : this.employees [4] = {id : 4, firstName : 'Jim', lastName : 'Halpert', title : 'Assistant Regional Manager', managerId : 2, managerName : 'Michael Scott ', 도시 :'Scranton, PA ', office 전화 :'570-222-2121 ', cellPhone :'570-999-1212 ', 이메일 :'[email protected] ', reportCount : 1}; – Hazaart
@shahkalpesh : 그건 잘못되었습니다.JavaScript에서는 대괄호를 사용하여 객체의 속성에 액세스 할 수 있습니다. 그것은 배열의 인덱스에 대한 액세스를 반드시 의미하지는 않습니다. – Kenneth