我有这个对象包含我想知道的关于锻炼的任何事情。然而,当我对对象进行String化时,数据对象没有被存储或者什么。
这是我想要字符串化的对象:
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?
这些是我的stringify和read方法:
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));
}
答案 0 :(得分:0)
更改您的对象,如下所示stringify。它应该工作。
Object {name: "testWorkout", program: {}}
这里指的是普通JavaScript
数组用于保存带有数字索引的数据。您可以将命名键填充到它们上,但JSON
数组数据类型不能在数组上使用命名键。