如何使用Spring Boot遍历并替换JSONObject中的特定JSON值?

2026-04-30 05:312阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计622个文字,预计阅读时间需要3分钟。

如何使用Spring Boot遍历并替换JSONObject中的特定JSON值?

使用场景:如何修改JSONObject的值,如何替换json中的部分内容,例如检查数据库存储的是否是JSON格式的字符串varchar,然后前端传递确认更新的json。

修改JSONObject的值:javaJSONObject jsonObject=new JSONObject();jsonObject.put(key, originalValue);jsonObject.put(key, newValue); // 修改已存在的键的值System.out.println(jsonObject.getString(key)); // 输出修改后的值

替换json中的部分内容:javaString jsonStr={\key1\:\value1\, \key2\:\value2\};JSONObject jsonObject=new JSONObject(jsonStr);jsonObject.put(key2, newValue); // 替换key2的值jsonStr=jsonObject.toString();System.out.println(jsonStr); // 输出替换后的JSON字符串

检查数据库存储的是否是JSON格式的字符串varchar:javaString dbData={'key':'value'}; // 假设这是从数据库中获取的字符串boolean isJson=JSONTokener.isValid(dbData); // 检查是否是有效的JSON格式System.out.println(isJson ? 是JSON格式 : 不是JSON格式);

前端传递确认更新的json:json// 前端传递的JSON字符串{ 确认更新: yes, json数据: {\key\:\newValue\}}

后台接口接收并处理:java// 后台接口示例@PostMapping(/update)public ResponseEntity updateData(@RequestBody JSONObject request) { String confirmation=request.getString(确认更新); if (yes.equals(confirmation)) { String jsonData=request.getString(json数据); // 处理jsonData,更新数据库等操作 return ResponseEntity.ok(更新成功); } else { return ResponseEntity.badRequest().body(未确认更新); }}

使用场景

如何修改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值的文章就介绍到这了,更多相关JSONObject遍历并替换json内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何使用Spring Boot遍历并替换JSONObject中的特定JSON值?

本文共计622个文字,预计阅读时间需要3分钟。

如何使用Spring Boot遍历并替换JSONObject中的特定JSON值?

使用场景:如何修改JSONObject的值,如何替换json中的部分内容,例如检查数据库存储的是否是JSON格式的字符串varchar,然后前端传递确认更新的json。

修改JSONObject的值:javaJSONObject jsonObject=new JSONObject();jsonObject.put(key, originalValue);jsonObject.put(key, newValue); // 修改已存在的键的值System.out.println(jsonObject.getString(key)); // 输出修改后的值

替换json中的部分内容:javaString jsonStr={\key1\:\value1\, \key2\:\value2\};JSONObject jsonObject=new JSONObject(jsonStr);jsonObject.put(key2, newValue); // 替换key2的值jsonStr=jsonObject.toString();System.out.println(jsonStr); // 输出替换后的JSON字符串

检查数据库存储的是否是JSON格式的字符串varchar:javaString dbData={'key':'value'}; // 假设这是从数据库中获取的字符串boolean isJson=JSONTokener.isValid(dbData); // 检查是否是有效的JSON格式System.out.println(isJson ? 是JSON格式 : 不是JSON格式);

前端传递确认更新的json:json// 前端传递的JSON字符串{ 确认更新: yes, json数据: {\key\:\newValue\}}

后台接口接收并处理:java// 后台接口示例@PostMapping(/update)public ResponseEntity updateData(@RequestBody JSONObject request) { String confirmation=request.getString(确认更新); if (yes.equals(confirmation)) { String jsonData=request.getString(json数据); // 处理jsonData,更新数据库等操作 return ResponseEntity.ok(更新成功); } else { return ResponseEntity.badRequest().body(未确认更新); }}

使用场景

如何修改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值的文章就介绍到这了,更多相关JSONObject遍历并替换json内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何使用Spring Boot遍历并替换JSONObject中的特定JSON值?