您好,登錄后才能下訂單哦!
這篇文章給大家介紹springboot中使用JSONObject如何實現遍歷并替換json值,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
使用場景
如何修改JSONObject 的值,如何替換json中的部分內容,比如檢查報告我們再數據庫存的是json格式的字符串varchar,然后前端傳來確認更新報告的json,后臺接口需要將前端傳來的json里面的內容更新到后臺數據庫(當然,前端傳來的不一定是完整的字符串,可能是一個,兩個,總之只是部分不是全部)。這個時候就需要使用這個方案了。
代碼展示
@PutMapping("/result/{checkNum}") public ApiReturnObject update(@PathVariable String checkNum,String dataStr) { //從數據庫查出duix Result result= resultReposity.findByCheckNum(checkNum); //接收的參數 JSONObject jsonObj=JSON.parseObject(dataStr); JSONObject originObj=JSON.parseObject(result.getCheckresult()); //單個替換 //originObj.put("AGE", jsonObj.get("AGE")); //遍歷替換json里面的值 for (String key:jsonObj.keySet()) { originObj.put(key, jsonObj.get(key)); } //轉化為jsonString result.setCheckresult(originObj.toJSONString()); //更新狀態 result.setStatus("1"); //保存 resultReposity.save(result); }
JSON操作講解
put可以強制更新json里面的值
JSONObject json = JSON.parseObject("{val: 123}"); System.out.println("======before====="); System.out.println("size: " + json.size()); System.out.println("val: " + json.get("val")); //直接put相同的key json.put("val", 234); System.out.println("======after======"); System.out.println("size: " + json.size()); System.out.println("val: " + json.get("val"));
結果
======before=====
size: 1
val: 123
======after======
size: 1
val: 234
JSONObject.keySet()可以遍歷json所有的key值
for (String key:jsonObj.keySet()) { originObj.put(key, jsonObj.get(key)); }
關于springboot中使用JSONObject如何實現遍歷并替換json值就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。