springboot中JSONObject遍历并替换部分json值
发布日期:2021-07-13 03:01:55 浏览次数:1 分类:技术文章

本文共 1436 字,大约阅读时间需要 4 分钟。

使用场景

如何修改JSONObject 的值,如何替换json中的部分内容,比如检查报告我们再数据库存的是json格式的字符串varchar,然后前端传来确认更新报告的json,后台接口需要将前端传来的json里面的内容更新到后台数据库(当然,前端传来的不一定是完整的字符串,可能是一个,两个,总之只是部分不是全部)。这个时候就需要使用这个方案了。

代码展示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@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里面的值

1
2
3
4
5
6
7
8
9
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值
1
2
3
for (String key:jsonObj.keySet()) {
 originObj.put(key, jsonObj.get(key));
}
到此这篇关于springboot中JSONObject遍历并替换部分json值的文章就介绍到这了

转载地址:https://blog.csdn.net/buduoduoorg/article/details/109688663 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:详解python polyscope库的安装和例程
下一篇:详解python爬取弹幕与数据分析

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月04日 13时21分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

ui php h5,画出自己的UI组件的详情 2019-04-21
linux服务文件编写,linux编写systemd下服务脚本 2019-04-21
hdfs linux 目录是否存在,Linux中判断hdfs文件是否存在 2019-04-21
linux学习需要什么基础,学linux需要什么基础? 2019-04-21
linux vim编辑kconfig 无法wq,Linux-4.9.2内核在mini2440上的移植(三)——编译环境测试... 2019-04-21
linux 强制结束任务管理器,结束拒绝访问的进程 cmd下结束进程 强行结束进程 2019-04-21
高斯勒让德在c语言中的程序,c语言:用递归方法编写程序,求n阶勒让德多项式的值... 2019-04-21
c语言单片机电子时钟,新人求个51单片机的电子时钟汇编语言(C语言的还没学到)... 2019-04-21
c++语言文件流,C++文件流 2019-04-21
android 动态毛玻璃,Android毛玻璃背景效果简单实现代码 2019-04-21
android 按钮提示,的Android按钮工具提示 2019-04-21
iphone通讯录 android,3个方法,教你如何快速而又有效的将联系人从iPhone转移到安卓... 2019-04-21
android horizontalscrollview 滑动事件,ScrollView的滑动监听(以HorizontalScrollView为例) 2019-04-21
win7自定义html为桌面,Win7系统自定义桌面主题的方法 2019-04-21
单系统 台电x80pro_台电x80 pro (ID:E3E6)安装remix OS系统教程整理 2019-04-21
linux存储pdf伟岸_python的reportlab库介绍、制作pdf和作图 2019-04-21
安徽信息技术初中会考上机考试模拟_2020年中小学寒假、考试时间定下了! 2019-04-21
ubuntu 退出anaconda环境_从零开始深度学习第15讲:ubuntu16.04 下深度学习开发环境搭建与配置... 2019-04-21
稳定币usda是哪个发行的_武夷山币装帧款曝光,共4款设计,你喜欢哪款? 2019-04-21
可变车道怎么走不违章_走ETC竟比人工车道贵50%!交警:这3点不知道,吃亏的是自己... 2019-04-21