2017-10-18 1 views
-3

일부 항목을 localstorage에 저장하고 키 값을 문자열로 저장하기 전에 저장합니다. 키 저를 제공문자열화된 객체 키 값의 값을 얻습니다.

localStorage.setItem(this.set_name, JSON.stringify(this.description)) 

:

item1 Value: [{"description": "some description that was store"}, {"description": "some description that was store"}] 

내가 예상대로 그대로 JSON.parse을하지 않고는 전체 값을 반환 그래서, Object 객체로 반환 JSON.parse와 키 값을 얻을

.

내가 원하는 것은 설명 내에있는 것을 반환하는 것입니다. "일부 설명은 저장했습니다"가 아니라 전체 값을 반환하는 것입니다.

어떻게하면됩니까?

function loadStorage() { 
    $itemSection = $("#item-section-set"); 
    var keys = Object.keys(localStorage), 
     i = 0, 
     key; 
    for (; key = keys[i]; i++) { 
     let itemDesc = localStorage.getItem(key); 
     console.log(JSON.parse(itemDesc)) 
    } 
} 

콘솔은 먼저 구문 분석하고 배열에서 페치해야 나에게 '(3) [{…}, {…}, {…}]'

+1

원하는 것을 더 명확하게하고 현재 얻고있는 것을 보여줄 수 있습니까? – evolutionxbox

+1

코드에서 JSON.parse를 어디에서 사용합니까? –

+0

'''상점에 대한 설명 ',''상점에 대한 설명' '을 저장하는 것이 더 쉬울까요? –

답변

0

을 제공합니다.

내가 그것을 저장 캐릭터 라인 화에해야 저장과 같은 별도의 서비스를 만들 것입니다 일반적으로 localStorage.getItem(<your key>);

var stringy = "[{\"description\": \"some description that was store 1\"}, {\"description\": \"some description that was store 2\"}]" 
 

 
var parsedArray = JSON.parse(stringy); 
 

 
for(var i = 0; i < parsedArray.length; i++){ 
 
    document.getElementById('area').innerHTML += '<p>'+parsedArray[i].description+'</p>'; 
 
}
<div id="area"></div>

0

로 교체, var stringy 당신이 당신의 로컬 스토리지에서 가져온 데이터가 있음을 고려하고 JSON.parse on 또한 내부 캐시 객체 파싱 된 객체 또는 객체가 캐시에 없으면 undefined가 있어야하며 localStorage에서 추출하여 구문 분석해야합니다.

성능에 대해 알고 있으며, 당신 때문에 너무 큰 개체 또는 유사한에 JSON.parse를 사용할 수없는 경우, 나는

localStorage.setItem(this.set_name, JSON.stringify(this.description)); localStorage.setItem(this.set_name+'_'+this.descriptionKey,JSON.stringify(this.description))

같은 별도의 키 - 값 쌍 의 설명을 저장하려고 할 것이다

모든 개체를 구문 분석하지 않고 descriptionKey를 통해서만 설명을 검색 할 수 있습니다.

0

문제를 이해하려고했으나 확실하지 않더라도 전체 List/Array를 단일 LocalStorageItem의 항목 하나로 저장하고 있습니다. , 당신은 하나의 항목에 여러 설명을 할 것이므로, e는 여러 개의 배열이고 여러 개의 객체를 갖는 각 배열은 다중 설명이므로이 문제에 대한 내 해결책을 heres, 만약 내가 더 많이 설명한다면 똑같은 것을 수정할 것입니다.

function loadStorage() { 
    $itemSection = $("#item-section-set"); 
    var keys = Object.keys(localStorage), 
    i = 0, 
    key; 
    for (; key = keys[i]; i++) { 
     let itemDesc = localStorage.getItem(key); 
     var oneLocalStorageItem = JSON.parse(itemDesc); 
     oneLocalStorageItem.map(function(oneObjectItem){ 
      console.log(oneObjectItem.description); 
     }) 
    } 
} 
관련 문제