當前位置: 首頁>>代碼示例>>Java>>正文


Java JSONArray.addAll方法代碼示例

本文整理匯總了Java中com.alibaba.fastjson.JSONArray.addAll方法的典型用法代碼示例。如果您正苦於以下問題:Java JSONArray.addAll方法的具體用法?Java JSONArray.addAll怎麽用?Java JSONArray.addAll使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.alibaba.fastjson.JSONArray的用法示例。


在下文中一共展示了JSONArray.addAll方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: mergeJSONArray

import com.alibaba.fastjson.JSONArray; //導入方法依賴的package包/類
private static void mergeJSONArray(JSONArray target, JSONArray from, ArrayMergeStrategy strategy){
    switch (strategy) {
        case REPLACE:
            if (target.size() > from.size()) {
                for (int i = 0; i < from.size(); i++) {
                    target.set(i, from.get(i));
                }
            } else {
                target.clear();
                target.addAll(from);
            }
            break;
        case APPEND:
            target.addAll(from);
            break;
        case DEEP_MERGE:
            // 對位置相同的元素進行合並;
            int mergeCount = Math.min(target.size(), from.size());
            Object targetFieldValue;
            Object fromFieldValue;
            for (int i = 0; i < mergeCount; i++) {
                targetFieldValue = target.get(i);
                fromFieldValue = from.get(i);
                if ((targetFieldValue instanceof JSONObject) && (fromFieldValue instanceof JSONObject)) {
                    // 都是 JSON 對象,進行深度合並;
                    mergeJSONObject((JSONObject) targetFieldValue, (JSONObject) fromFieldValue, strategy);
                } else if ((targetFieldValue instanceof JSONArray) && (fromFieldValue instanceof JSONArray)) {
                    // 都是 JSON 數組,進行數組合並;
                    mergeJSONArray((JSONArray) targetFieldValue, (JSONArray) fromFieldValue, strategy);
                } else {
                    // 類型不同,直接替換;
                    target.set(i, fromFieldValue);
                }
            }
            // 對多出來的元素進行追加;
            if (from.size() > target.size()) {
                for (int i = target.size(); i < from.size(); i++) {
                    target.add(from.get(i));
                }
            }
            break;
        default:
            throw new IllegalStateException("Unsupported strategy[" + strategy + "] for merging json array!");
    }
}
 
開發者ID:bubicn,項目名稱:bubichain-sdk-java,代碼行數:46,代碼來源:JSONBean.java


注:本文中的com.alibaba.fastjson.JSONArray.addAll方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。