Java实现JSONObject合并

由于算法修改,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)

IT老五(it-lao5):关注公众号,一起源创,一起学习!

推荐阅读更多精彩内容

  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 289评论 0 3
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 3,879评论 0 2
  • 曾经有这么一个说法,叫“罩杯不够,胸肌来凑”,意思是通过锻炼胸肌来达到丰满胸部的目的,那么是不是能够实现你所期待的...
    浩渺星雨阅读 272评论 0 0
  • 《胡慎之家庭教育课》《情绪课》《婚姻必修课》在头条专栏热销中 经常有人问我:“老胡,我睡不着觉,你能不能提供一些方...
    吴庞炜阅读 88评论 1 0
  • 武侠小说中,我最喜欢的是《天龙八部》,以宋辽为背景,大气磅礴,具有很强的代入感。这里的江湖极其复杂,有仇恨有情义,...
    智舞阅读 136评论 0 0