json java的set函数_Java JSONArray.set方法代码示例

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!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值