本地存储的 json 数组正在打印,但来自 json 的值在 cordova 应用程序中给出未定义
Locally stored json array is printing but value from json is giving undefined in cordova application
你好,我是JSON的新手,我已经搜索了很多,但没有任何东西对我有用。 我的问题是我正在使用 JSON 中的本地存储保存数据,当我尝试打印数组时它工作正常,但它没有给出值。
这是我在 JSON 中存储数据的代码-
var user;
var users;
function saveData(){
if ('localStorage' in window && window['localStorage'] !== null) {
try {
user = JSON.stringify({
email : $("#email").val(),
timestamp : $("#time").val(),
}),
users = localStorage.getItem('user');
users = users ? JSON.parse(users) : [];
users.push(user);
localStorage.setItem("user", JSON.stringify(users));
alert("The data was saved.");
return true;
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
alert('Quota exceeded!');
}
}
} else {
alert('Cannot store user preferences as your browser do not support local storage');
}
}
我在这里得到这个
function showData(user_email){
user_email = {};
user_email = JSON.parse(localStorage.getItem("user"));
for(index in user_email){
alert(user_email[index].email);
}
}
如果我正在打印
alert(user_email[index]);
它工作正常,但是
alert(user_email[index].email);
这给了我不确定。提前感谢您的帮助。
在
将用户对象推送到数组之前,不需要将其字符串化。用户数组是对象的数组,而不是字符串。否则,您将在未按预期反对后JSON.parse(localStorage.getItem("user"))
为用户返回一个字符串。
它应该只是:
user = {
email : $("#email").val(),
timestamp : $("#time").val(),
};
相关文章:
- 如何在dojo应用程序构建概要文件中加载json文件
- 如何在Chrome中找到JSON后将其放入我的应用程序's开发人员工具
- 在ColdFusion应用程序中使用JSON
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 如何在angularjs应用程序中解析Drupal JSON数据
- 从web浏览器通过javascript向侦听TCP端口5500的本地应用程序发送json命令
- 如何在phonegap应用程序中处理Ajax json响应
- 如何将ember应用程序集成到json服务器中使用
- 如何在核心php应用程序中使用节点js json Web令牌库
- 将json数据存储在sqlite(phonegap应用程序)中
- (临时)在Web应用程序中存储JSON搜索结果
- 在AngularJS应用程序中加载JSON(加载谷歌电子表格)
- Json在应用程序电话间隙!路径是什么
- 将 json 数据加载到 CycleJS 应用程序中
- 我怎么能在IONIC应用程序中使用Json对象而不是硬编码对象呢
- NodeJS应用程序只显示第一个JSON对象.为什么?
- 客户端将EDN转换为JSON(HTML5应用程序使用的Datomic数据)
- 在搜索应用程序中用JSON数据交换JavaScript数组
- 具有来自静态json文件的路由的主干应用程序(只读)
- 找不到 IE8 MIME 类型应用程序/json