springboot中JSONObject遍歷并替換部分json值
使用場景
如何修改JSONObject 的值,如何替換json中的部分內(nèi)容,比如檢查報(bào)告我們再數(shù)據(jù)庫存的是json格式的字符串varchar,然后前端傳來確認(rèn)更新報(bào)告的json,后臺接口需要將前端傳來的json里面的內(nèi)容更新到后臺數(shù)據(jù)庫(當(dāng)然,前端傳來的不一定是完整的字符串,可能是一個(gè),兩個(gè),總之只是部分不是全部)。這個(gè)時(shí)候就需要使用這個(gè)方案了。
代碼展示
@PutMapping("/result/{checkNum}") public ApiReturnObject update(@PathVariable String checkNum,String dataStr) { //從數(shù)據(jù)庫查出duix Result result= resultReposity.findByCheckNum(checkNum); //接收的參數(shù) JSONObject jsonObj=JSON.parseObject(dataStr); JSONObject originObj=JSON.parseObject(result.getCheckresult()); //單個(gè)替換 //originObj.put("AGE", jsonObj.get("AGE")); //遍歷替換json里面的值 for (String key:jsonObj.keySet()) { originObj.put(key, jsonObj.get(key)); } //轉(zhuǎn)化為jsonString result.setCheckresult(originObj.toJSONString()); //更新狀態(tài) result.setStatus("1"); //保存 resultReposity.save(result); }
JSON操作講解
put可以強(qiáng)制更新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"));
結(jié)果
======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)); }
到此這篇關(guān)于springboot中JSONObject遍歷并替換部分json值的文章就介紹到這了,更多相關(guān)JSONObject遍歷并替換json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- fastjson對JSONObject中的指定字段重新賦值的實(shí)現(xiàn)
- java中JSONObject轉(zhuǎn)換為HashMap(方法+main方法調(diào)用實(shí)例)
- Java使用JSONObject需要的6個(gè)jar包下載地址
- 詳解Java中String JSONObject JSONArray List<實(shí)體類>轉(zhuǎn)換
- Java使用JSONObject操作json實(shí)例解析
- js原生map實(shí)現(xiàn)的方法總結(jié)
- Map與WeakMap類型在JavaScript中的使用詳解
- JavaScript中Object、map、weakmap的區(qū)別分析
相關(guān)文章
IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)
本文主要介紹了IDEA下使用Spring Boot熱加載的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06SpringCloud Nacos作為配置中心超詳細(xì)講解
這篇文章主要介紹了Springcloud中的Nacos作為配置中心,本文以用戶微服務(wù)為例,進(jìn)行統(tǒng)一的配置,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12JSP頁面?zhèn)鲄⒊霈F(xiàn)中文亂碼的解決方案
這篇文章主要介紹了JSP頁面?zhèn)鲄⒊霈F(xiàn)中文亂碼的解決方案,非常實(shí)用,需要的朋友可以參考下2014-08-08java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例
這篇文章主要為大家分享了java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05Spring?Boot?整合?Fisco?Bcos部署、調(diào)用區(qū)塊鏈合約的案例
本篇文章介紹?Spring?Boot?整合?Fisco?Bcos?的相關(guān)技術(shù),最最重要的技術(shù)點(diǎn),部署、調(diào)用區(qū)塊鏈合約的工程案例,本文通過流程分析給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-01-01Java參數(shù)傳遞及值傳遞實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Java參數(shù)傳遞及值傳遞實(shí)現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08MyBatis Plus 實(shí)現(xiàn)多表分頁查詢功能的示例代碼
這篇文章主要介紹了MyBatis Plus 實(shí)現(xiàn)多表分頁查詢功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java實(shí)體映射工具M(jìn)apStruct使用方法詳解
MapStruct是用于代碼中JavaBean對象之間的轉(zhuǎn)換,例如DO轉(zhuǎn)換為DTO,DTO轉(zhuǎn)換為VO,或Entity轉(zhuǎn)換為VO等場景,這篇文章主要給大家介紹了關(guān)于Java實(shí)體映射工具M(jìn)apStruct使用的相關(guān)資料,需要的朋友可以參考下2021-11-11淺談SpringBoot如何封裝統(tǒng)一響應(yīng)體
今天帶各位小伙伴學(xué)習(xí)SpringBoot如何封裝統(tǒng)一響應(yīng)體,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-05