请教一个 jQuery 调用 Json 问题。

2015-04-09 14:45:01 +08:00
 tension
{
"resultcode": "200",
"reason": "成功的返回",
"result": {
"company": "顺丰",
"com": "sf",
"no": "594841046352",
"list": [{
"datetime": "2015-03-29 18:42",
"remark": "顺丰速运 已收取快件",
"zone": ""
}, {
"datetime": "2015-03-29 19:09",
"remark": "快件在 武汉建一服务点, 正转运至 武汉吴家山集散中心",
"zone": ""
}, {
"datetime": "2015-03-29 20:16",
"remark": "快件到达 武汉吴家山集散中心",
"zone": ""
}, {
"datetime": "2015-03-29 21:51",
"remark": "快件在 武汉吴家山集散中心, 正转运至 武汉东西湖集散中心2",
"zone": ""
}, {
"datetime": "2015-03-29 22:51",
"remark": "快件在 武汉东西湖集散中心2, 正转运至 上海虹桥集散中心",
"zone": ""
}, {
"datetime": "2015-03-30 12:28",
"remark": "快件到达 上海虹桥集散中心2",
"zone": ""
}, {
"datetime": "2015-03-30 12:47",
"remark": "快件在 上海虹桥集散中心2, 正转运至 上海长风服务点",
"zone": ""
}, {
"datetime": "2015-03-30 13:29",
"remark": "快件到达 上海长风服务点",
"zone": ""
}, {
"datetime": "2015-03-30 13:31",
"remark": "正在派送途中,请您准备签收(派件人:衡中林,电话:18301891806)",
"zone": ""
}, {
"datetime": "2015-03-30 19:51",
"remark": "快件派送不成功(因暂无法联系到收方客户),正在处理中,待再次派送",
"zone": ""
}, {
"datetime": "2015-03-31 08:16",
"remark": "正在派送途中,请您准备签收(派件人:衡中林,电话:18301891806)",
"zone": ""
}, {
"datetime": "2015-03-31 10:12",
"remark": "已签收,感谢使用顺丰,期待再次为您服务",
"zone": ""
}, {
"datetime": "2015-03-31 10:12",
"remark": "在官网\"运单资料&签收图\",可查看签收人信息",
"zone": ""
}],
"status": 1
},
"error_code": 0
}

请问 这样的层级关系,我想调用 list 层,并且 循环,我该如何操作呢?

company com no 我都会。。。

本人 JS 好差。。
2701 次点击
所在节点    问与答
11 条回复
ALeo
2015-04-09 14:51:01 +08:00
data.list.each
tension
2015-04-09 14:53:07 +08:00
@ALeo

我现在写的
$.each(value.result.list,function(i,n){
html +='<dd>';
html +='<span id="opt1">'+datetime+'</span><span id="opt2">'+remark+'</span>';
html +='</dd>';
});

不对么?
ALeo
2015-04-09 15:03:00 +08:00
@tension 肯定不对。。

$.each(value.result.list,function(val){
html +='<dd>';
html +='<span id="opt1">'+val.datetime+'</span><span id="opt2">'+val.remark+'</span>';
html +='</dd>';
});
tension
2015-04-09 15:15:48 +08:00
@ALeo 还是不行,获取不到 值啊?
subpo
2015-04-09 15:17:57 +08:00
list.forEach(function(item){
console.log(item)
})
tension
2015-04-09 15:18:44 +08:00
@ALeo 获取出来的行数对了,但是内容显示 undefined
tension
2015-04-09 15:19:05 +08:00
var info = data.result.list;
var html = "";
$.each(info,function(val){
html +='<dd>';
html +='<span class="extime">'+val.datetime+'</span><span class="exremark">'+val.remark+'</span>';
html +='</dd>';
});
tension
2015-04-09 15:20:16 +08:00
@ALeo

var info = data.result.list;
var html = "";
$.each(info,function(n,val){
html +='<dd>';
html +='<span class="extime">'+val.datetime+'</span><span class="exremark">'+val.remark+'</span>';
html +='</dd>';
});

搞定
xmbaozi
2015-04-09 16:16:43 +08:00
var tpl = '<span class="extime">{datetime}</span><span class="exremark">{remark}</span>';
function render(obj) {
return tpl.replace(/\{(\w+)\}/g, function ($0, $1) {
return obj[$1];
});
}
var html = render(valObj);

我喜欢用模板 看起来优雅点点 :D
tension
2015-04-09 16:18:28 +08:00
@xmbaozi 正在考虑是否想把整站搞成整站模版的
qiuai
2015-04-09 19:31:00 +08:00
@tension 你还要脸的话,赶紧联系我.要么还钱,要么把货发出来.
没你这么办事的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/182582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX