【问题标题】:How can i handle null value by using JSonobject.getInt function?如何使用 JSonobject.getInt 函数处理空值?
【发布时间】:2012-12-28 09:46:27
【问题描述】:

我正在尝试从 Json 对象中获取值,但我遇到了问题。我正在使用 getint 函数来获取值,但该值为 null 并且 getint 函数出现错误。

我该如何解决这个问题?

代码:

firmInfo.setFirmID(object.getInt(Constants.FirmID));

谢谢。

【问题讨论】:

    标签: android json


    【解决方案1】:

    假设objectJSONObject 类型,您可以使用

    object.optInt(Constants.FirmID)
    

    object.optInt(Constants.FirmID, defaultValue)
    

    【讨论】:

      【解决方案2】:

      您可以在尝试getInt() 之前检查您收到的对象是否是JSONObject 的实例。您还需要在将 param 传递给您的 getInt() 之前检查是否为 null。如下所示

      if(Constants.FirmID != null){
       firmInfo.setFirmID(object.getInt(Integer.parseInt(Constants.FirmID)));
      }
      

      查看this链接

      【讨论】:

      • 不不不,Constants.FirmID 还不是空的。 getInt(Constants.FirmID) 从 Jsononject 获取值,变量是 FirmID。 { FirmID :null } 像这样。
      • 哦,好吧,所以 FirmID 的 JSON 对象为 null ?,在这种情况下,您不能 getInt of null。它是服务器端问题/错误。如果您认为对象 Firmid 应该包含整数,请修复服务器向您发送 0 而不是 null ?
      【解决方案3】:

      getint 如果 JSONObject 中没有这样的键或您的错误是在将其设置为 firmInfo 时给出错误消息

      使用

      检查 id 是否存在
      object.has("Constants.FirmID")
      

      如果有key,判断是否为null

      if(String.valueOf(jArray.getInt("sdfgh")) != null)
      {
          // add your code here . . . . . 
      }
      

      if(String.valueOf(jArray.getInt("sdfgh")).length < 1)
          {
              // add your code here . . . . . 
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-22
        • 2014-11-26
        • 2022-12-12
        • 2015-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多