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

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/

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

报告相同问题?

悬赏问题

  • ¥20 关于游戏c++语言代码问题
  • ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)
  • ¥15 delphi indy cookie 有效期
  • ¥15 labelme打不开怎么办
  • ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
  • ¥15 免费的电脑视频剪辑类软件如何盈利
  • ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
  • ¥15 pycharm中导入模块出错
  • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
  • ¥15 有关“完美的代价”问题的代码漏洞