Java实现JSONObject合并

  • 5,236 views
  • 阅读模式

由于算法修改,java这边结果处理有个简单的变更,需要对新旧算法输出的结果进行合并,存在相同指标时,以新算法导出的为准...

因为c++库返回的结果是json字符串,于是就写了个简单的合并方法,以便以后有类似需求的时候能重用。

    /**
     * 将srcJObjStr和addJObjStr合并,如果有重复字段,以addJObjStr为准
     * @param srcJObjStr 原jsonObject字符串
     * @param addJObjStr 需要加入的jsonObject字符串 
     * @return srcJObjStr
     */
    private String combineJson(String srcJObjStr, String addJObjStr) throws JSONException {
        if(addJObjStr == null || addJObjStr.isEmpty()) {
            return srcJObjStr;
        }
        if(srcJObjStr == null || srcJObjStr.isEmpty()) {
            return addJObjStr;
        }
        
        JSONObject srcJObj = new JSONObject(srcJObjStr);
        JSONObject addJObj = new JSONObject(addJObjStr);
        
        combineJson(srcJObj, addJObj);

        return srcJObj.toString();
    } 
    
    @SuppressWarnings("unchecked")
    private JSONObject combineJson(JSONObject srcObj, JSONObject addObj) throws JSONException {

        Iterator<String> itKeys1 = addObj.keys();
        String key, value;
        while(itKeys1.hasNext()){  
            key = itKeys1.next();
            value = addObj.optString(key);
            
            srcObj.put(key, value);
        }  
        return srcObj;
    }

代码很简单,原理就是对json进行遍历替换,json处理用到了org.json库...

原文:简书ThinkinLiu 博客: IT老五

ps:点击这里可以下载(82.71k)

weinxin
扫码关注微信公众号--IT老五
微信扫一扫关注公众号,获取更多实用app,订阅地址不定时更新
Liu, Thinkin
  • 本文由 发表于 2018-12-25 10:32:05
  • 转载请务必保留本文链接:https://itlao5.com/722.html
评论  0  访客  0
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定