为了账号安全,请及时绑定邮箱和手机立即绑定

检查 json 数组是否有任何项目

检查 json 数组是否有任何项目

跃然一笑 2021-06-11 14:05:13
我的程序是从 AsyncTask 派生的“结果”字符串中获取 Java 对象列表。为此,我需要使用 JsonParser 来获取 JsonArray。如果“结果”字符串是 [],则 JsonArray 也是 []。如何检测此 Json 数组中是否有任何项目。我已经尝试了所有的建议,甚至在“结果”字符串中检测到,对我来说没有任何效果,你能帮忙吗?我的 JsonArray:[]    try{        JsonParser parser = new JsonParser();        JsonArray array = parser.parse(orderList).getAsJsonArray();        System.out.println("Inside fromJasonToJava, array: " + array); //This prints out array: []        lst =  new ArrayList<Order>();        if(array.get(0)!= null) { //It goes wrong here, I need a working "if" condition            //Value is not null            for (final JsonElement json : array) {                JSONObject jsonObject = new JSONObject(String.valueOf(json));                                    System.out.println("Inside fromJasonToJava, jsonObject:" + jsonObject);            }        }    }catch(Exception e){        throw new Exception("Convert json to java error [fromJasonToJava()]", e);    }
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

如果您正在使用,则在 if 检查大小的内部 org.json.simple.JSONArray

if(array.size() != 0)

或者如果你使用 org.json.JSONArray

if(array.length() != 0)


查看完整回答
反对 回复 2021-06-23
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

您可以使用 if(array.length() > 0)


查看完整回答
反对 回复 2021-06-23
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您不需要使用 if 条件,因为 java 的 for-each 足够聪明来处理这个问题。


如果数组没有任何值或者它是空的,那么它根本不会被执行。


所以使用这个代码:


for (final JsonElement json : array) { // it will not get executed at all if array is empty

            JSONObject jsonObject = new JSONObject(String.valueOf(json));

                                System.out.println("Inside fromJasonToJava, jsonObject:" + jsonObject);

代替


    if(array.get(0)!= null) { //It goes wrong here, I need a working "if" condition

        //Value is not null

        for (final JsonElement json : array) {

            JSONObject jsonObject = new JSONObject(String.valueOf(json));

                                System.out.println("Inside fromJasonToJava, jsonObject:" + jsonObject);


        }


查看完整回答
反对 回复 2021-06-23
  • 3 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信