JSON解析 null处理

使用的JSON包为json-lib-2.2.3-jdk15.jar。

需解析的JSON串:{"myCancerGenome":[],"aminoAcidChange":null,"normalRefCount":null,"ncbiBuildNo":"hg19","pdbLink":"","tumorType":null,"specialGeneData":null,"normalFreq":null,"mutationStatus":"Somatic","cna":"0","endPos":55273099,"geneSymbol":"EGFR","tumorFreq":null,"startPos":55273099,"keyword":"EGFR T1141 missense","cosmic":null,"validationStatus":"Valid","normalAltCount":null,"mutationEventId":300276,"tumorAltCount":null,"functionalImpactScore":"M","tumorRefCount":null,"sequencingCenter":"WashU","igvLink":null},其中有null也有""。

在解析上述JSON串的时候,控制台打印get("normalAltCount")结果为null,打印get("normalAltCount")==null的结果为false。百般无奈之下使用了getString("normalAltCount").equals("null"),控制台输出结果为true。

处理返回JSON数据的时候,null有可能是字符串的null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的JSON解析可能会返回null的情况有以下几种: 1. JSON字符串本身为null或空字符串。 2. JSON字符串中的某个属性值为null。 3. JSON字符串中的某个属性值不存在。 4. JSON字符串中的某个属性值类型与Java对象中的属性类型不匹配。 为了避免这些情况,我们可以在解析JSON字符串时进行一些判断和处理,例如使用try-catch语句捕获异常、使用if语句判断属性值是否为null等。 以下是一个简单的JSON解析示例,其中使用了try-catch语句和if语句来处理可能出现的null情况: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JsonParser { public static void main(String[] args) { String jsonString = "{\"name\":\"Tom\",\"age\":20,\"gender\":\"male\"}"; try { JSONObject jsonObject = JSON.parseObject(jsonString); String name = jsonObject.getString("name"); Integer age = jsonObject.getInteger("age"); String gender = jsonObject.getString("gender"); if (name != null && age != null && gender != null) { Person person = new Person(name, age, gender); System.out.println(person); } else { System.out.println("JSON字符串中存在null值或属性不存在。"); } } catch (Exception e) { System.out.println("JSON解析失败:" + e.getMessage()); } } } class Person { private String name; private Integer age; private String gender; public Person(String name, Integer age, String gender) { this.name = name; this.age = age; this.gender = gender; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值