java json 替换属性值_Java替换(新增)JSON串里面的某个节点操作

Java替换(新增)JSON串里面的某个节点操作

替换JSON串里面的某个节点

这里使用的是alibaba的fastjson,使用JSONObject解析替换,这里的key存在就会替换,不存在就新增

JSONObject object = JSONObject.parseObject(jsonString);

object.put("name", "张三");

object.put("phone", "13512345678");

newJsonString = object.toJSONString();

jsonString是一个JSON串

需要替换子节点的目前没有做尝试

补充知识:读写json文件并新增或覆盖其中的数据节点

1.json转Map

Map map = JSON.parseObject(json); [使用fastjson]

2.Map转json

String json = JSON.toJSONString(map); [使用fastjson]

3.读json文件

File file = new File(filePath);

String json = FileUtils.readFileToString(file,"UTF-8"); [FileUtils来自commons-io工具类]

4.写json文件

File file = new File(filePath);

FileUtils.writeStringToFile(file, json, "UTF-8"); [FileUtils来自commons-io工具类]

5.新增json数据节点

使用map.put(key,value),其中key是要添加的key;

6.覆盖json数据节点

使用map.put(key,value)方法,其中key是要覆盖的key;

7.整体思路

使用commons-io的readFileToString方法读取json文件到内存中,使用JSON.parseObject把json转化为Map对象,使用put方法新增或覆盖json数据节点,然后使用JSON.toJSONString把Map对象转化为json,最后使用commons-io的writeStringToFile把更新以后的json串写入json文件;

以上这篇Java替换(新增)JSON串里面的某个节点操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-11-24

1. 前言 日常开发中少不了JSON处理,少不了需要在JSON中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON字符串增加额外字段 假如我们有这样结构的JSON: { "username":"felord.cn", "age":18 } 期望增加一个性别字段gender: { "username": "felord.cn", "age"

JSONObject对同一个key重新put时,新值就会取代旧值,没有set之类的方法 构建json string时,所有的引号都要转义 package xx; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; // 对JSONObject中的指定字段重新赋值 public class testJsonReplace { public static void main(String[] args)

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

755473f53ae872b0a951cc999e427c7d.png

序言: 事件:此web项目的功能及其简单,就是有客户端来访问redis序列号服务时发送jison报文,项目已经在测试环境成功运行2周了,具体的代码我就直接上了,此博客仅是自己的记录,同学们可做参考! 一.工程目录结构 二.配置文件 1.pom.xml <?xml version="1.0" encoding="UTF-8"?>

废话不多说,先给大家贴代码,具体代码如下所示: 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

4d4a4b8fc4c5b33862d3bc063ed2ba23.png

正文 很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 第一步,需要加上springboot的redis jar包 org.springframework.bootspring-boot-starter-data-redi

工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在需要的地方就可以使用@Cacheable和@CacheEvict使用和删除缓存了.这个使用很简单,相信用过springboot缓存的都会玩,这里就不再多说了.美中不足的是,springboot使用了插件式的集成方式,虽然用起来很方便,但是当你集成ehcache的时候就是用ehcache,集成redi

问题描述 最近在做微信小程序,用的spring boot做后端,突然发现客户端发送post请求的时候服务端接收不到参数.问题简化之后如下: 微信小程序端: 在页面放一个按钮进行测试 点击进行测试 绑定一个函数发送post请求 //index.js //获

我们在日常的项目开发中,对于数据字典肯定不模糊,它帮助了我们更加方便快捷地进行开发,下面一起来看看在 SpringBoot 中如何实现数据字典功能的 一.简介 1.定义 数据字典是指对数据的数据项.数据结构.数据流.数据存储.处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目.简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合. 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数

aecd7bffaa001b6da91ae60ab7b2b26b.png

springboot对kafka的client很好的实现了集成,使用非常方便,本文也实现了一个在springboot中实现操作kafka的demo. 1.POM配置 只需要在dependencies中增加 spring-kafka的配置即可.完整效果如下: org.springframework.bootspring-boot-starter-parent

下面是整个Action的完整代码: package cn.ysh.studio.struts2.json.demo.action; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.Servlet

Thymeleaf Thymeleaf是最近SpringBoot推荐支持的模板框架,官网在thymeleaf.org这里. 我们为什么要用Thymeleaf来作为模板引擎呢?官网给了我们一个非常令人信服的解释: Thymeleaf is a modern server-side Java template engine for both web and standalone environments.> 基本写法就像下面这样:

f691dd1a6ac3bd374b3240154081d10f.png

对于分布式使用Nginx+Tomcat实现负载均衡,最常用的均衡算法有IP_Hash.轮训.根据权重.随机等.不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因此会出现session不同步或者丢失的问题. 实际上实现Session共享的方案很多,其中一种常用的就是使用Tomcat.Jetty等服务器提供的Session共享功能,将Session的内容统一存储在一个数据库(如MySQL)或缓存(如Redis)中. 本文旨在

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值