您的位置:

如何判断JSONARRAY是否为空

一、判断JSONARRAY是否为空

/**
 * 判断JSONArray是否为空
 * @param jsonArray
 * @return
 */
public static boolean isJsonArrayEmpty(JSONArray jsonArray) {
    return jsonArray == null || jsonArray.isEmpty();
}

在判断JSONArray是否为空时,可以直接调用JSONArray的isEmpty()方法。也可以通过比较JSONArray是否为null,两种方法都能达到判断JSONArray是否为空的目的。

二、JSONARRAY怎么判空

JSONArray怎样判空跟判断其他对象是否为空一样,可以使用==null判断,还可以使用isEmpty()方法判断。

三、判断JSONARRAY是第几个

/**
 * 判断JSONArray是否为JSONObject的第几个元素
 *
 * @param jsonObject    JSONObject
 * @param jsonArrayName JSONARRAY名称
 * @param targetName    判断的名称
 * @return 序号,从1开始
 */
public static int indexOfJsonArrayForJsonObject(JSONObject jsonObject,
                                                 String jsonArrayName,
                                                 String targetName) {
    JSONArray jsonArray = jsonObject.getJSONArray(jsonArrayName);
    int count = jsonArray.size();
    for (int i = 0; i < count; i++) {
        if (jsonArray.getJSONObject(i).get(targetName) != null) {
            return i + 1;
        }
    }
    return -1;
}

如果JSONObject中有一个JSONArray,那么可以通过indexOfJsonArrayForJsonObject()方法来判断该JSONArray中是否包含某个元素,返回该元素在JSONArray中的位置。

四、JSONARRAY判断非空

/**
 * 判断JSONArray非空
 *
 * @param jsonArray
 * @return boolean
 */
public static boolean isJsonArrayNotEmpty(JSONArray jsonArray) {
    return jsonArray != null && !jsonArray.isEmpty();
}

判断JSONArray非空时,可以通过创建一个isJsonArrayNotEmpty()方法进行判空处理。该方法与isJsonArrayEmpty()方法不同,它判断的是JSONArray非空。

五、判断JSONARRAY包含某个值

/**
 * 判断JSONArray中是否包含某个值
 *
 * @param key
 * @param value
 * @return 是否包含
 */
public static boolean jsonArrayContains(JSONArray jsonArray, String key, String value) {
    boolean isContain = false;
    for (int i = 0; i < jsonArray.size(); i++) {
        if (jsonArray.getJSONObject(i).getString(key).equals(value)) {
            isContain = true;
            break;
        }
    }
    return isContain;
}

如果你想判断JSONArray中是否包含某个值,可以使用jsonArrayContains()方法,该方法返回一个boolean值,代表JSONARRAY中是否包含该值。

六、JSONARRAY删除空对象

/**
 * 删除JSONArray中的空JSONObject
 *
 * @param jsonArray
 * @return 删除后的JSONArray
 */
public static JSONArray removeEmptyJsonObjects(JSONArray jsonArray) {
    JSONArray newJsonArray = new JSONArray();
    Iterator iterator = jsonArray.iterator();

    while (iterator.hasNext()) {
        Object next = iterator.next();
        if (next == null || ((JSONObject)next).size() == 0) {
            iterator.remove();
        } else {
            newJsonArray.add(next);
        }
    }
    return newJsonArray;
}

有时候你可能需要把JSONArray中的所有空JSONObject删除掉,可以使用removeEmptyJsonObjects()方法实现。

文章目录
顶部