2

We are storing a value in localstorage with Key name - cookiesettings. The value will be in JSON format like below.

{ "enabled":true, "element1":{ "enabled":true }, "element2":{ "enabled":true }, "element3":{ "enabled":false } }

Not sure how to extract and check whether element3 is enabled true/false. If true, we need to show div. otherwise, hide div.

tried to use

localStorage.getItem('cookiesetting'); localStorage.getItem('cookiesetting.element3.enabled'); 

But getting undefined error. Tried to use:

JSON.parse(localStorage.getItem('cookiesetting')); 

Still can't able to find a solution to check whether element3 - Enabled - True or False.

1
  • 1
    After getting and parsing the value it should be an object already so just use JSON.parse(localStorage.getItem('cookiesetting')).element3.enabled to get it's value Commented Jun 21, 2020 at 6:42

2 Answers 2

3

Check out this documentation which says Key and Value must be String.

https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem

So you have to store it a stringified version of the Object.

localStorage.setItem('cookiesetting', JSON.stringify({ "enabled":true, "element1":{ "enabled":true }, "element2":{ "enabled":true }, "element3":{ "enabled":false } })) 

You can get the Item by:

JSON.parse(localStorage.getItem('cookiesetting')) JSON.parse(localStorage.getItem('cookiesetting')).element3.enabled 

Let me know if you have any questions.

Sign up to request clarification or add additional context in comments.

Comments

0

localStorage can't store objects, You need to store the JSON as a string, So convert your cookieObject to string before storing to the localStorage

localStorage.setItem('cookiesetting', JSON.stringify(cookieItem)); 

Get the string from localStorage and parse it and use like below

 let cookiesetting = JSON.parse(localStorage.getItem('cookiesetting')); if (!!cookiesetting) { console.log(cookiesetting.element3.enabled); } 

let cookieItem = { "enabled": true, "element1": { "enabled": true }, "element2": { "enabled": true }, "element3": { "enabled": false } }; localStorage.setItem('cookiesetting', JSON.stringify(cookieItem)); let cookiesetting = JSON.parse(localStorage.getItem('cookiesetting')); if (!!cookiesetting) { console.log(cookiesetting.element3.enabled); }

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.