QBOChannelPubInfoOrganizeDetailsBean[] values = IChnlGirdHomeSV.qryPubInfoOrganizeDetails(con.toString(), paramMap);
for (QBOChannelPubInfoOrganizeDetailsBean bean : values) {
JSONObject beanJson = new JSONObject();
if (bean != null) {
beanJson.put("organizeId", bean.getOrganizeId());
beanJson.put("organizeName", bean.getOrganizeName());
String organizeAddress = bean.getOrganizeAddress().replace("\\","/");
beanJson.put("organizeAddress", organizeAddress);
beanJson.put("operName", bean.getOperName());
beanJson.put("contactPhone", bean.getContactPhone());
beanJson.put("regionId", bean.getRegionCode());
beanJson.put("regionName", bean.getRegionName());
beanJson.put("countyId", bean.getCountyCode());
beanJson.put("countyName", bean.getCountyName());
beanJson.put("gridId", bean.getAreaCode());
beanJson.put("gridName", bean.getAreaName());
beanJson.put("crmCode", bean.getLoginName());//crm工号
}
commentList.add(beanJson);
}
这个代码会导致空指针报错,将其中的一行改为 beanJson.put("organizeAddress", bean.getOrganizeAddress());则不会,为什么?
你的问题涉及到Java代码中的空指针异常。让我们来分析一下可能的原因。
在你的代码中,bean.getOrganizeAddress()
可能返回了一个null
值。当你试图将null
值放入JSONObject
中时,它会抛出一个空指针异常(NullPointerException)。
当你改为使用bean.getOrganizeAddress()
时,你直接将null
值传递给put
方法,而没有尝试对其进行任何处理。因此,不会抛出空指针异常。
为了解决这个问题,你可以在将organizeAddress
键值对添加到JSONObject
之前检查bean.getOrganizeAddress()
是否为null
。如果它为null
,你可以选择跳过该键值对,或者将其设置为默认值。
以下是修改后的代码示例:
java复制代码
QBOChannelPubInfoOrganizeDetailsBean[] values = IChnlGirdHomeSV.qryPubInfoOrganizeDetails(con.toString(), paramMap); | |
for (QBOChannelPubInfoOrganizeDetailsBean bean : values) { | |
JSONObject beanJson = new JSONObject(); | |
if (bean != null) { | |
beanJson.put("organizeId", bean.getOrganizeId()); | |
beanJson.put("organizeName", bean.getOrganizeName()); | |
String organizeAddress = bean.getOrganizeAddress(); | |
if (organizeAddress != null) { | |
beanJson.put("organizeAddress", organizeAddress.replace("\\","/")); | |
} | |
beanJson.put("operName", bean.getOperName()); | |
beanJson.put("contactPhone", bean.getContactPhone()); | |
beanJson.put("regionId", bean.getRegionCode()); | |
beanJson.put("regionName", bean.getRegionName()); | |
beanJson.put("countyId", bean.getCountyCode()); | |
beanJson.put("countyName", bean.getCountyName()); | |
beanJson.put("gridId", bean.getAreaCode()); | |
beanJson.put("gridName", bean.getAreaName()); | |
beanJson.put("crmCode", bean.getLoginName());//crm工号 | |
} | |
commentList.add(beanJson); | |
} |
在这个修改后的代码中,我添加了一个条件检查来确保organizeAddress
不为null
,然后再将其添加到JSONObject
中。这样可以避免空指针异常。