如何判斷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()方法實現。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194533.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 14:39
下一篇 2024-12-02 14:39

相關推薦

  • Python如何判斷質數和異常處理

    本文主要介紹Python如何判斷質數和異常處理,其中包括多個方面的內容。 一、判斷質數 1、定義:質數是指除了1和它本身兩個因數外,沒有其他的因數。 2、判斷方法: (1)從2到n…

    編程 2025-04-29
  • Python如何判斷工作日與節假日

    在Python編程中,判斷工作日與節假日是非常常見的需求。下面將從多個方面進行詳細的闡述。 一、datetime庫介紹 datetime是Python中處理日期和時間的標準庫。使用…

    編程 2025-04-29
  • Python中如何判斷字元為數字

    判斷字元是否為數字是Python編程中常見的需求,本文將從多個方面詳細闡述如何使用Python進行字元判斷。 一、isdigit()函數判斷字元是否為數字 Python中可以使用i…

    編程 2025-04-29
  • 如何判斷輸入的用戶名值是否為空

    判斷輸入的用戶名值是否為空是編程開發中常見的需求,因為用戶輸入的值可能為空,如果不對其進行判斷,就會導致程序運行出錯。接下來從多個方面來詳細闡述。 一、使用if語句判斷 使用if語…

    編程 2025-04-28
  • mysessioncontext 根據jessionid獲取session為空解決方法

    當我們在使用web應用程序開發時,mysessioncontext 根據jessionid獲取session為空是一個常見的錯誤。為了避免這個錯誤的發生,我們必須了解什麼是sess…

    編程 2025-04-28
  • 如何判斷組合詞

    在自然語言處理中,經常需要對文本中出現的詞進行判斷,判斷它們是否為組合詞,本文將從多個方面講述如何進行判斷組合詞。 一、基於詞典的判斷方法 詞典是判斷組合詞的重要依據。在構建詞典時…

    編程 2025-04-27
  • Python如何判斷IP地址合法性

    IP地址是網路通信的基礎,因此判斷IP地址合法性是編程中常見的問題。Python作為一門強大的編程語言,提供了多種方法來判斷IP地址的合法性。 一、判斷IP地址格式是否正確 IP地…

    編程 2025-04-27
  • Python判斷字典是否為空

    一、使用if判斷 在Python中,可以使用if語句來判斷一個字典是否為空。如果字典為空,那麼if語句的條件就為False,反之為True。以下是示例代碼: sample_dict…

    編程 2025-04-25
  • Freemarker如何判斷是否為空

    在開發中,我們經常需要對數據進行判斷,例如字元串是否為空、集合是否為空、欄位是否為空等等。在使用Freemarker模板引擎時,如何判斷這些條件呢?本文將從多個方面詳細闡述Free…

    編程 2025-04-23
  • 判斷集合是否為空的多個方面分析

    一、判斷集合是否為空集 判斷一個集合是否為空集,可以通過isEmpty()方法進行判斷。 Set<String> set = new HashSet<>()…

    編程 2025-04-23

發表回復

登錄後才能評論