I have fieldObj which I need frequently. It comes from database.
I want to store it in localStorage.
below is the code I wrote which fetch fieldObj from database if localStorage don't have it.
When I try to access the json data stored in localStorage it just shows
[object Object]
code is treating fieldObj of localStorage as string.
I need to access key values pairs stored in fieldObj.
<script>
export default {
data() {
return {
fields: JSON,
}
},
created() {
if (!localStorage.getItem('field-obj')) {
axios
.get('/api/u/record/', {
withCredentials: true,
})
.then((response) => {
response.data.forEach((el) => {
if (el.COLUMN_TYPE == 'int') el.COLUMN_TYPE = 'number'
})
const fieldObj = response.data[0].fieldObj[0]
this.fields = fieldObj
})
.then(() => {
localStorage.setItem('field-obj', this.fields)
})
} else {
console.log(new Object(localStorage.getItem('field-obj')))
// console.log(localStorage.getItem('field-obj')[0].username)
}
},
}
</script>
JSON.parse(JSON.stringify(yourObject))to inspect the variable. There is probably an object down there and not a string or alike.JSON.parse(JSON.stringify(localStorage.getItem('field-obj')))?fieldObjfrom database it gives{case index: 'varchar(14)', next visit: 'date', patient name: 'varchar(30)', prescription: 'varchar(255)'}localStorage.getItem('field-obj').prescriptionmay be needed.localStorage.setItem('field-obj',this.fields)tolocalStorage.setItem('field-obj',JSON.stringify(this.fields))and accessed it bythis.fields = JSON.parse(localStorage.getItem('field-obj'))and it worked completely fine.