- A+
由于算法修改,java这边结果处理有个简单的变更,需要对新旧算法输出的结果进行合并,存在相同指标时,以新算法导出的为准...
因为c++库返回的结果是json字符串,于是就写了个简单的合并方法,以便以后有类似需求的时候能重用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<span class="hljs-comment">/** * 将srcJObjStr和addJObjStr合并,如果有重复字段,以addJObjStr为准 * <span class="hljs-doctag">@param</span> srcJObjStr 原jsonObject字符串 * <span class="hljs-doctag">@param</span> addJObjStr 需要加入的jsonObject字符串 * <span class="hljs-doctag">@return</span> srcJObjStr */</span> <span class="hljs-function"><span class="hljs-keyword">private</span> String <span class="hljs-title">combineJson</span><span class="hljs-params">(String srcJObjStr, String addJObjStr)</span> <span class="hljs-keyword">throws</span> JSONException </span>{ <span class="hljs-keyword">if</span>(addJObjStr == <span class="hljs-keyword">null</span> || addJObjStr.isEmpty()) { <span class="hljs-keyword">return</span> srcJObjStr; } <span class="hljs-keyword">if</span>(srcJObjStr == <span class="hljs-keyword">null</span> || srcJObjStr.isEmpty()) { <span class="hljs-keyword">return</span> addJObjStr; } JSONObject srcJObj = <span class="hljs-keyword">new</span> JSONObject(srcJObjStr); JSONObject addJObj = <span class="hljs-keyword">new</span> JSONObject(addJObjStr); combineJson(srcJObj, addJObj); <span class="hljs-keyword">return</span> srcJObj.toString(); } <span class="hljs-meta">@SuppressWarnings</span>(<span class="hljs-string">"unchecked"</span>) <span class="hljs-function"><span class="hljs-keyword">private</span> JSONObject <span class="hljs-title">combineJson</span><span class="hljs-params">(JSONObject srcObj, JSONObject addObj)</span> <span class="hljs-keyword">throws</span> JSONException </span>{ Iterator<String> itKeys1 = addObj.keys(); String key, value; <span class="hljs-keyword">while</span>(itKeys1.hasNext()){ key = itKeys1.next(); value = addObj.optString(key); srcObj.put(key, value); } <span class="hljs-keyword">return</span> srcObj; } |
代码很简单,原理就是对json进行遍历替换,json处理用到了org.json库...
原文:简书ThinkinLiu 博客: IT老五
ps:点击这里可以下载(82.71k)

我的微信公众号
微信扫一扫关注公众号,不定时更新