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/

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

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!