【发布时间】:2015-10-25 10:45:41
【问题描述】:
我有一个来自 jquery 中 $.post 的 json 对象。
为了循环并存储数据客户端,我想将它添加到一个数组中。对于返回的每个搜索结果,我想“附加”数组以使其增长。
这是我的 json:
{
"companies": [
{
"companyid": "115",
"saved": false,
"orgnumber": "010101010",
"companyname": "TestCompany",
"header": "header info"
},
{
"companyid": "116",
"saved": false,
"orgnumber": "010101010",
"companyname": "TestCompany",
"header": "header info"
} ]
}
这就是我到目前为止想出的数据是 json 从 post ajax 请求回来。 Obj 只是一个持有数组的对象 我在我的代码中进一步声明。 obj.companies = new Array();
obj.companies.push(data['companies']);
下一部分我需要循环出数组。尝试这样做。
$.each(obj.companies, function(i, item) {
// Does not alert correctly.
alert(item.header);
});
所以我需要将完整的 json 对象推送到数组中。但是我无法在循环中提醒 item.header,我该如何完成呢?
编辑: 谢谢大家。对不起,如果我的问题不够详细。 我最终这样做了:
getcompanies: function() {
obj = this;
$.post('api/finder/result.php', {}, function(data) {
$.each(data.companies, function(i, item) {
obj.companies.push(item);
});
obj.loadcompanies();
}, "json");
},
loadcompanies: function() {
$.each(this.companies, function(i, item) {
alert(item.header);
}
}
【问题讨论】:
-
我不太清楚你想做什么或为什么。为什么要在尝试将 json 添加到看起来与您刚刚字符串化的 json 具有相似结构的对象之前对 json 进行字符串化?你真正追求的结构是什么?
-
什么是实际问题?
-
另外,证明 JSON 无效。
-
只要您的
obj具有您所指的数组 ({sresult: {companies: []}}),您发布的内容应该会遍历您推送的数据,但您正在发布的数据push 将是一个string包含 JSON 中的所有内容。 -
当然有问题,否则我不会问这个问题。
标签: javascript jquery arrays json