fastjson判断空JSON节点,判断JSON节点是否存在.
有一个项目需求,是解析一个json,其中父节点为’data’,子节点为不确定的key(即代码中的nowKey),次子节点为’had’.要将次子节点’had’下的数据封装到实体类中.
但次子节点had有时不存在,此时直接获取会空指针异常.
我尝试使用fastjson的jsonNode对象的’isEmpty’和’isNull’方法来判断该次子节点’had’是否存在,可是即使不存在,也会返回为true.
为此苦恼了好久,后来经过尝试,发现直接通过’==null’就能成功准确的判断该次子节点是否存在.
代码示例如下:
if (jsonnodeObj.get("data").get(nowKey).get("had")!=null){ newMatchObj.setZs(jsonnodeObj.get("data").get(nowKey).get("had").get("h").toString().replaceAll("\"","" )); newMatchObj.setZp(jsonnodeObj.get("data").get(nowKey).get("had").get("d").toString().replaceAll("\"","" )); newMatchObj.setZf(jsonnodeObj.get("data").get(nowKey).get("had").get("a").toString().replaceAll("\"","" )); }else { System.out.println("为空.........................."); newMatchObj.setZs("-"); newMatchObj.setZp("-"); newMatchObj.setZf("-"); }
作者:君を見つけて
来源链接:https://blog.csdn.net/chinatopno1/article/details/108764054
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。