Raja S
Raja S

Reputation: 21

How to get inner object value in localStorage getItem in angularJs?

I need to get the inner object value in localStorage.i.e object inside the object.

var filter = {
    filterWord: null,
    userId: null                
}
filter.filterWord = listCAO.sortName;
filter.userId = listCAO.currentUser;
listCAO.filterBreadcumText.push(filter);
localStorage.setItem('entityBreadCumText', listCAO.filterBreadcumText);

Upvotes: 2

Views: 4685

Answers (3)

Mustafa SDET
Mustafa SDET

Reputation: 61

If the data is stored as nested objects instead of an array as c14l 's answer, the syntax changes a little bit. Let's store nested object first:

var myNestedObject = {"token": "Bearer", "profile": {"name":"Mustafa","expires_at":1678013824}};
myNestedStr = JSON.stringify(myNestedObject);
localStorage.setItem('myNestedData', myNestedStr);

Now let's see how to get the "name" from the nested object:

var nestedStr = localStorage.getItem('myNestedData');
var nestedObj = JSON.parse(nestedStr);
var nestedProfile = nestedObj.profile;
var nestedName = nestedProfile.name;

Or we can get "name" with a single line also:

var nestedNameWithOneLine = JSON.parse(localStorage.getItem('myNestedData')).profile.name;

Upvotes: 0

Caner
Caner

Reputation: 873

This may be another solution. You can use it this way.

let obj = JSON.parse(localStorage.getItem('your_settings_name'));
let lobj: YourObject = <YourObject>obj;

Upvotes: 0

C14L
C14L

Reputation: 12548

LocalStorage only holds String pairs: 'string1'='string2'

So when you do localStorage.getItem('string1') it returns 'string2'.

If you want to store a Javascript Object, you need to convert it into a string first. JSON works best for that.

var myObj = [{'name': 'Paul', 'age': 22}, {'name': 'Steve', 'age': 68}];
myStr = JSON.stringify(myObj);
localStorage.setItem('myData', myStr);

Same when you read the data from localStorage

var myStr = localStorage.getItem('myData');
var myObj = JSON.parse(myStr);
var myName = myObj[0].name;

Or in one step

var myName = JSON.parse(localStorage.getItem('myData'))[0].name;

Upvotes: 4

Related Questions