seanphang 2016-02-22 22:04 采纳率: 100%
浏览 5286
已采纳

nodejs 判断 数组为空的 json数据时,一直报错undefined

对不起各位大神,请不要恨铁不成钢,我真心不懂这个简单的初级问题。
我自己在做一个API小程序,用nodejs的request包抓取了许多json数据。
问题简单的来说就是,我需要判断一个有时候有数值,有时候却为空的属性,属性名为deliverTime,
当deliverTime存在的时候,抓取这个json属性,当deliverTime不存在的时候,不抓取。
然而,如果我的判断语句为: if(body.data.deliverBills[0].deliverTime){console.log(body.data.deliverBills[0].deliverTime;}else{console.log(“不存在deliverTime”);}
如果deliverTime存在还好,会正常运行。
但一旦不存在的时候,似乎轮不到这个判断函数运行,就会因为deliverTime不存在直接先报错,报错内容为:
TypeError: Cannot read property ‘deliverTime’ of undefined
at Request._callback (c:\node\syncec9.js:126:34)
at Request.self.callback (c:\node\node_modules\request\request.js:199:22)
at emitTwo (events.js:87:13)
at Request.emit (events.js:172:7)
at Request. (c:\node\node_modules\request\request.js:1036:10)
at emitOne (events.js:82:20)
at Request.emit (events.js:169:7)
at IncomingMessage. (c:\node\node_modules\request\request.js:963:

at emitNone (events.js:72:20)
at IncomingMessage.emit (events.js:166:7)

求大神们开导调教

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-02-22 23:06
    关注

    if ('deliverTime' in body.data.deliverBills[0])
    ,,,
    http://shifahaicool.blog.163.com/blog/static/35093326200910309248953/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置