如何检查 Api 响应是不是存在

Posted

技术标签:

【中文标题】如何检查 Api 响应是不是存在【英文标题】:How do i check if a Api response exists如何检查 Api 响应是否存在 【发布时间】:2022-01-18 01:25:55 【问题描述】:

我不断收到一个空指针异常,我想查看响应是否存在,如果存在则将其打印出来。

if (responsePlace.result.opening_hours.weekday_text.isNotEmpty() )
println("The response for place time " + responsePlace.result.opening_hours.weekday_text[0].toString())

【问题讨论】:

【参考方案1】:

你可以试试这个:

    responsePlace.let
    
      when(it.isSuccessful) 
         true -> println(""The response for place time " + it.result.opening_hours.weekday_text[0].toString()")
         false -> println("something went wrong!")
        
    

【讨论】:

【参考方案2】:

在 kotlin 中使用方便的 isNullOrEmpty() 方法。

所以你的方法看起来像

if (!responsePlace.result.opening_hours.weekday_text.isNullOrEmpty())
println("The response for place time " + responsePlace.result.opening_hours.weekday_text[0].toString())

注意“!”条件开头的否定

【讨论】:

【参考方案3】:

您必须检查哪个对象为空或更好地发布日志跟踪。 您可以使用 Kotlin 安全调用来防止 NPE。

if(responsePlace?.result?.opening_hours.weekday_text.isNullOrEmpty())
println("The response for place time " + responsePlace.result.opening_hours.weekday_text[0].toString())

【讨论】:

以上是关于如何检查 Api 响应是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何检查以下响应中是不是存在数据密钥?

如何使用 XPath 检查 <Success /> 节点是不是存在

如何使用 gradle API 检查工件是不是存在?

如何在 Windows Phone 中检查 XMLNode 是不是存在

如何检查是不是存在 aws redshift 表

IOS - 使用 Youtube API 检查 Youtube 视频是不是存在