【发布时间】:2012-12-28 09:46:27
【问题描述】:
我正在尝试从 Json 对象中获取值,但我遇到了问题。我正在使用 getint 函数来获取值,但该值为 null 并且 getint 函数出现错误。
我该如何解决这个问题?
代码:
firmInfo.setFirmID(object.getInt(Constants.FirmID));
谢谢。
【问题讨论】:
我正在尝试从 Json 对象中获取值,但我遇到了问题。我正在使用 getint 函数来获取值,但该值为 null 并且 getint 函数出现错误。
我该如何解决这个问题?
代码:
firmInfo.setFirmID(object.getInt(Constants.FirmID));
谢谢。
【问题讨论】:
假设object 是JSONObject 类型,您可以使用
object.optInt(Constants.FirmID)
或
object.optInt(Constants.FirmID, defaultValue)
【讨论】:
您可以在尝试getInt() 之前检查您收到的对象是否是JSONObject 的实例。您还需要在将 param 传递给您的 getInt() 之前检查是否为 null。如下所示
if(Constants.FirmID != null){
firmInfo.setFirmID(object.getInt(Integer.parseInt(Constants.FirmID)));
}
查看this链接
【讨论】:
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 . . . . .
}
【讨论】: