我有这个代码:
var string = '{"items":[{"Desc":"Item1"},{"Desc":"Item2"}]}';
localStorage.setItem('added-items', JSON.stringify(string));
此代码将使用 localStorage。
下面是获取存储数据的代码:
var retrievedObject = localStorage.getItem('added-items');
我现在的问题是,如何获取数据项的大小?答案必须是 2。
如何获取“Item1”和“Item2”?
我尝试了 retrievedObject[0][0]
但它不起作用。
以及如何在上面添加数据? 所以它会是
{"items":[{"Desc":"Item1"},{"Desc":"Item2"},{"Desc":"Item3"}]}
我可以使用 JSON.stringify
吗?
最佳答案
var string = '{"items":[{"Desc":"Item1"},{"Desc":"Item2"}]}';
localStorage.setItem('added-items', JSON.stringify(string));
stringify
的意思是,获取一个对象
并以字符串
的形式返回它的表示。
您拥有的已经是一个字符串,而不是一个 JSON 对象。
相反的是 JSON.parse
,它将一个 string
转换为一个 object
。
它们都与获取数组大小无关。在正确编写 JavaScript 代码时,您几乎从不使用 JSON.parse
或 JSON.stringify
。仅当明确需要序列化时。
使用length
作为数组的大小:
var obj = {"items":[{"Desc":"Item1"},{"Desc":"Item2"},{"Desc":"Item3"}]}
console.debug(obj.items.length);
关于javascript - 如何将 JSON 数据存储和检索到本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34493531/