V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tension
V2EX  ›  问与答

请教一个 jQuery 调用 Json 问题。

  •  
  •   tension · 2015-04-09 14:45:01 +08:00 · 2682 次点击
    这是一个创建于 3509 天前的主题,其中的信息可能已经有所发展或是发生改变。
    {
    "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 好差。。
    11 条回复    2015-04-09 19:31:00 +08:00
    ALeo
        1
    ALeo  
       2015-04-09 14:51:01 +08:00   ❤️ 1
    data.list.each
    tension
        2
    tension  
    OP
       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
        3
    ALeo  
       2015-04-09 15:03:00 +08:00   ❤️ 1
    @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
        4
    tension  
    OP
       2015-04-09 15:15:48 +08:00
    @ALeo 还是不行,获取不到 值啊?
    subpo
        5
    subpo  
       2015-04-09 15:17:57 +08:00   ❤️ 1
    list.forEach(function(item){
    console.log(item)
    })
    tension
        6
    tension  
    OP
       2015-04-09 15:18:44 +08:00
    @ALeo 获取出来的行数对了,但是内容显示 undefined
    tension
        7
    tension  
    OP
       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
        8
    tension  
    OP
       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
        9
    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
        10
    tension  
    OP
       2015-04-09 16:18:28 +08:00
    @xmbaozi 正在考虑是否想把整站搞成整站模版的
    qiuai
        11
    qiuai  
       2015-04-09 19:31:00 +08:00
    @tension 你还要脸的话,赶紧联系我.要么还钱,要么把货发出来.
    没你这么办事的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1827 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:37 · PVG 00:37 · LAX 08:37 · JFK 11:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.