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 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名