为什么只有我的json数据的一部分被记录
Why is only part of my json data being logged?
我试图最终有我的json数据显示在一个标签。但是,当我console.log json数据时,只显示最后两个对象。当我将数据传递给标签时,只显示最后一个对象。提前感谢任何帮助!
下面是我的代码:var json =
{
"Question:": " What is my name? ",
"Answer:": " James ",
"Question:": " What is my age? ",
"Answer:": " 31 "
};
for (var key in json)
{
if (json.hasOwnProperty(key))
{
console.log(key + " = " + json[key]);
}
}
var label = Ti.UI.createLabel({
text: key + json[key]
});
win3.add(label);
你的问题与Titanium无关。在JavaScript字典中,你不能有两个具有不同值的相同键。为了演示您犯的错误,我将重写您的第一行:
var json = {};
json["Question:"] = " What is my name? ";
json["Answer:"] = " James ";
// We are fine untill now.
json["Question:"] = " What is my age? ";
json["Answer:"] = " 31 ";
// Here you overwrote values for keys "Question:" and "Answer:" which were set above.
为了解决您的问题,我将您的json字典更改为字典数组:
var i, key, label;
var json = [
{
"Question:": " What is my name? ",
"Answer:": " James ",
},
{
"Question:": " What is my age? ",
"Answer:": " 31 "
}
];
for (i in json) {
for (key in json[i]) {
label = Ti.UI.createLabel({
text: key + json[i][key]
});
win3.add(label);
}
}
你的json对象键是重复的,javascript不会抱怨这个,它只会用第二个值覆盖第一个键值
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- AngularJs对所有页面中的所有记录进行排序
- 如何检查字符串的一部分与数组匹配
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- window.location替换并传递URL历史记录条目中的变量
- 为什么可以't我使用了AJAX响应的一部分
- Javascript历史记录转换为php行
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 猫鼬在特定记录中查找嵌套记录
- 浏览器何时记录历史记录
- 仅重新加载网页的一部分
- 如何使用ViewCompiler手动编译DOM的一部分
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- Regex提取URL返回数组的一部分;未定义”;
- 更新成员数据模型中的记录列表
- Html地图对象-点击地图获取id的一部分
- 如何使用提交按钮搜索表中的记录
- 正在OrientDB中嵌入函数中的记录
- 为什么只有我的json数据的一部分被记录