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值的文章就介绍到这了,更多相关JSONObject遍历并替换json内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Java中JSONObject与JSONArray的使用区别详解
最近公司开发的几个项目中,后台Action向前端传递数据都是Json格式,于是对JSONObject.JSONArray简单的研究了一下,废话不多说,想使用JSONObject.JSONArray,策则在项目中必须要有commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 这些Jar包. 1.JSONObject
-
JSON字符串转换JSONObject和JSONArray的方法
一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; String value1 = null; t
-
java使用JSONObject实例
一.引入jar包使用JSONObject必须引用JSON-lib.jar,同时它还依赖于其他包common-lang.jarcommon-beanuitls.jarcommon-collections.jarcommon-logging.jarezmorph.jar二.JSONObject对象使用JSON-lib包是一个java对象.xml.JSON互相转换的包.1.将Java对象转换成 json字符串 复制代码 代码如下: Person p1=new Person();p1.setName("
-
使用JSONObject生成和解析json的方法
1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组 Object 对象 null 空值 (1)json中不区分整数.小数等类型,而统一使用Number来存储数字. (2)Array表示数组,以中括号"[]"括起来,元素之间以逗号分隔,元素可以为任意类型. (3)Object表示对象,类似于C语言中的结构体,以花括号"{}"括起来,其元素要求为键值对,key必须为String类型的,而value则
-
浅析Java中JSONObject和JSONArray使用
废话不多说,先给大家贴代码,具体代码如下所示: import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.util.*; public class JavaTest { public static void main(String[] args){ JSONObject obj=new JSONObject(); obj.put("derek","23"); obj.put(&q
-
java 将jsonarray 转化为对应键值的jsonobject方法
有时候我们再操作数据的时候,很多数据是jsonarry 格式的 如: [{"name":"测试数据","id":1},{"name":"测试数据2","id":2}] 这样的格式很类型表格数据类型.但是我们要取id 为1的name 这样我们就要先变量以便了.如果需要多次操作这样的类型,显得很麻烦. 这里的数据我们可以看出id 是唯一的.那么我们可以想办法将其转为jsonobject 这样
-
JSONObject使用方法详解
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http://xiazai.jb51.net/201707/yuanma/lib_jb51.rar 提供了除JSONObject的jar之外依赖的其他6个jar包,一共7个jar文件 说明:因为工作中项目用到的版本是1.1的对应jdk1.3的版本,故本篇博客是基于1.1版本介绍的. 对应此版本的javadoc下载
-
java的JsonObject对象提取值方法
实例如下所示: import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.swagger.models.auth.In; import java.io.IOException; import java.security.KeyManagementException; import java.security.N
-
springboot中JSONObject遍历并替换部分json值
使用场景 如何修改JSONObject 的值,如何替换json中的部分内容,比如检查报告我们再数据库存的是json格式的字符串varchar,然后前端传来确认更新报告的json,后台接口需要将前端传来的json里面的内容更新到后台数据库(当然,前端传来的不一定是完整的字符串,可能是一个,两个,总之只是部分不是全部).这个时候就需要使用这个方案了. 代码展示 @PutMapping("/result/{checkNum}") public ApiReturnObject update(@
-
详解json在SpringBoot中的格式转换
@RestController自动返回json /** * json 三种实现方法 * 1 @RestController自动返回json */ @GetMapping("/json") public Student getjson() { Student student = new Student("bennyrhys",158 ); return student; } @ResponseBody+@Controller 组合返回json //@RestContr
-
SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)
问题发生 我们公司代码生成的时候,查询列表统一都是使用了setEntity() ,查询写法如下: public List<BasReservoirArea> selectList(BasReservoirArea basReservoirArea) { QueryWrapper<BasReservoirArea> where = new QueryWrapper<>(); where.setEntity(basReservoirArea); return baseMap
-
springboot中通过lua脚本来获取序列号的方法
序言: 事件:此web项目的功能及其简单,就是有客户端来访问redis序列号服务时发送jison报文,项目已经在测试环境成功运行2周了,具体的代码我就直接上了,此博客仅是自己的记录,同学们可做参考! 一.工程目录结构 二.配置文件 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"
-
详解SpringBoot中添加@ResponseBody注解会发生什么
SpringBoot版本2.2.4.RELEASE. [1]SpringBoot接收到请求 ① springboot接收到一个请求返回json格式的列表,方法参数为JSONObject 格式,使用了注解@RequestBody 为什么这里要说明返回格式.方法参数.参数注解?因为方法参数与参数注解会影响你使用不同的参数解析器与后置处理器!通常使用WebDataBinder进行参数数据绑定结果也不同. 将要调用的目标方法如下: @ApiOperation(value="分页查询") @Re
-
springboot中使用redis由浅入深解析
正文 很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 第一步,需要加上springboot的redis jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redi
-
springboot中使用自定义两级缓存的方法
工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在需要的地方就可以使用@Cacheable和@CacheEvict使用和删除缓存了.这个使用很简单,相信用过springboot缓存的都会玩,这里就不再多说了.美中不足的是,springboot使用了插件式的集成方式,虽然用起来很方便,但是当你集成ehcache的时候就是用ehcache,集成redi
-
springboot中不能获取post请求参数的解决方法
问题描述 最近在做微信小程序,用的spring boot做后端,突然发现客户端发送post请求的时候服务端接收不到参数.问题简化之后如下: 微信小程序端: 在页面放一个按钮进行测试 <!--index.wxml--> <view class="container"> <button catchtap='testpost'>点击进行测试</button> </view> 绑定一个函数发送post请求 //index.js //获
-
SpringBoot中实现数据字典的示例代码
我们在日常的项目开发中,对于数据字典肯定不模糊,它帮助了我们更加方便快捷地进行开发,下面一起来看看在 SpringBoot 中如何实现数据字典功能的 一.简介 1.定义 数据字典是指对数据的数据项.数据结构.数据流.数据存储.处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目.简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合. 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数
随机推荐
- 用Java正则去掉字符串中重复出现的字符
- Vue实现一个返回顶部backToTop组件
- Android模仿美团顶部的滑动菜单实例代码
- JavaScript无阻塞加载和defer、async详解
- 分享一段PHP制作的中文拼音首字母工具类
- 据说是雅虎的一份PHP面试题附答案
- Android监听软键盘弹出与隐藏的两种方法
- ThinkPHP分页实例
- js showModalDialog弹出窗口实例详解
- 跨浏览器的设置innerHTML方法
- C++ Vector用法深入剖析
- Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作
- PHP获取指定月份第一天和最后一天的方法
- PHP制作登录异常ip检测功能的实例代码
- 深入c# GDI+简单绘图的具体操作步骤(四)
- 基于php和mysql的简单的dao类实现crud操作功能
- python3获取两个日期之间所有日期,以及比较大小的实例
- VMware workstation 14 pro上安装win10系统
- .Net集合排序的一种高级玩法实例教程
- C#用timer实现背单词小程序