我想在HTML5中存储一个JavaScript对象
复制代码 ,但是我的对象显然正在转换为字符串。
我可以使用来存储和检索原始JavaScript类型和数组复制代码 ,但是对象似乎无法正常工作。应该吗
这是我的代码:- var testObject = { 'one': 1, 'two': 2, 'three': 3 };
- console.log('typeof testObject: ' + typeof testObject);
- console.log('testObject properties:');
- for (var prop in testObject) {
- console.log(' ' + prop + ': ' + testObject[prop]);
- }
-
- // Put the object into storage
- localStorage.setItem('testObject', testObject);
-
- // Retrieve the object from storage
- var retrievedObject = localStorage.getItem('testObject');
-
- console.log('typeof retrievedObject: ' + typeof retrievedObject);
- console.log('Value of retrievedObject: ' + retrievedObject);
复制代码
控制台输出为- typeof testObject: object
- testObject properties:
- one: 1
- two: 2
- three: 3
- typeof retrievedObject: string
- Value of retrievedObject: [object Object]
复制代码
在我看来,该复制代码 方法是在存储输入之前将输入转换为字符串。
办理方案:
再次检察Apple,Mozilla和Mozilla文档,该功能似乎仅限于处理处罚字符串键/值对。
一种办理方法是在存储对象之前先对它进行字符串化处理处罚,然后在检索它时对其进行解析:- var testObject = { 'one': 1, 'two': 2, 'three': 3 };
-
- // Put the object into storage
- localStorage.setItem('testObject', JSON.stringify(testObject));
-
- // Retrieve the object from storage
- var retrievedObject = localStorage.getItem('testObject');
-
- console.log('retrievedObject: ', JSON.parse(retrievedObject));
复制代码
到此这篇关于在HTML5 localStorage中存储对象的文章就先容到这了,更多相干HTML5 localStorage存储对象内容请搜刮草根技术分享以前的文章或继承浏览下面的相干文章,盼望各人以后多多支持草根技术分享! |