如何在获取值之前对JSONObject中的每个元素进行空检查?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在获取值之前对JSONObject中的每个元素进行空检查?相关的知识,希望对你有一定的参考价值。

我有带有一组字段的JSONObject,如果在angular应用程序中该字段具有null值,则不设置JSONObject中的字段。因此,在进行如下所示的spring-boot中的值之前,我对每个字段进行了空检查。

            JSONObject exclusionObj = (JSONObject) exclusionArray.get(i);
            SampleBean sample  = new SampleBean();

            if(exclusionObj.isNull("name")) 
                sample.setName(null);
            else
                sample.setName(exclusionObj.getString("name"));
            

            if(exclusionObj.isNull("designation")) 
                sample.setDesignation(null);
            else
                sample.setdesignation(exclusionObj.getString("designation"));
            

            if(exclusionObj.isNull("dept")) 
                sample.setDept(null);
            else
                sample.setDept(exclusionObj.getInt("dept"));
            

有没有更好的方法可以在单个语句中而不是If-Else条件下编写此空检查?

答案

您可以使用以下逻辑摆脱if-else条件:

Iterator<String> keys = exclusionObj.keys();
    while(keys.hasNext()) 
        if (!exclusionObj.isNull(keys.next())) 
            sample.setName(exclusionObj.getString(keys.next()));
        
    

以上是关于如何在获取值之前对JSONObject中的每个元素进行空检查?的主要内容,如果未能解决你的问题,请参考以下文章

如何从其路径中获取 JSONObject 中的嵌套值?

jsonobject怎么获取json中某个值

更新 JSONObject 中的元素

循环以在 JAVA 中的 JSONObject 内获取相同的对象 N 次

如何获取jsonarray中 某个值

从android中的JsonObject中提取坐标