如何通过 JSON 在本地存储中存储包含数组对象的对象
How to store an Object containing Array-Objects in local Storage By JSON
我有这个对象,几乎包含了我想知道的关于锻炼的任何信息。然而,当我字符串化对象时,数组对象不会存储或其他东西。
这是我想要字符串化的对象:
Object {name: "testWorkout", program: Array[4]}
name: "testWorkout"
program: Array[4]
first: Array[3]
slope: 0
speed: "medium"
time: 10
length: 3
__proto__: Array[0]
interval1: Array[4]
radio: "Time"
size: "33"
slope: "79"
speed: "fast"
length: 4
__proto__: Array[0]
interval2: Array[4]
radio: "Time"
size: "3322"
slope: "16"
speed: "medium"
length: 4
__proto__: Array[0]
last: Array[3]
slope: 0
speed: "medium"
time: 20
length: 3
__proto__: Array[0]
length: 4
__proto__: Array[0]
__proto__: Object
但相反,它字符串化得很好,它确实字符串化为:
{"name":"testesr","program":[null,null,null,null]}
如何使用纯JavaScript解决这个问题?所以没有JQuery?
这些是我的字符串化和读取方法:
function putInLocalStorage(){
console.log(JSON.stringify(workout));
localStorage.setItem('workout-'+workout.name, JSON.stringify(workout));
}
function readLocalStorage(){
var retrievedObject = localStorage.getItem('workout-'+workout.name);
console.log('retrievedObject: ', JSON.parse(retrievedObject));
}
更改对象,如下所示,然后字符串化。它应该有效。
Object {name: "testWorkout", program: {}}
这里的点是正常的JavaScript
数组旨在保存带有数字索引的数据。您可以将命名键填充到它们上,但JSON
数组数据类型不能在数组上具有命名键。
相关文章:
- 访问存储对象
- 在 Jquery 中,我可以存储对象引用并在以后使用它吗?
- 在JSON中存储对象引用
- 在外部JSON文件中存储对象数组
- 如何使用 json.stringify 在 cookie 中正确存储对象数组
- 将数据追加到本地存储对象
- 在 Javascript 中存储对象的当前状态的最佳实践是什么?
- 在 chrome.storage 中正确存储对象
- 存储对象事件的内容
- 本地存储对象数组:仅将新对象推送到数组中(如果唯一)
- jQuery选择器存储对象?如何强迫它不这样做
- 如何在 html5 的本地存储对象中存储数组
- 基于另一个对象键/值存储对象值
- JavaScript:如何在数组中存储对象
- 用于在javascript中存储对象的类型化数组
- 我可以将javascript存储在本地存储对象中并运行它吗
- 如何在HTML元素中存储对象引用
- 如何使用jQuery$.cokie()在cookie中存储对象数组
- 如何在JavaScript中访问和存储对象数组
- 是否有一个好的方法来存储对象的引用