首先将hutools整合进springboot项目中。
https://hutool.cn/docs/#/
详细的可以参考这个文档
在pom文件中引入
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.0.5</version>
</dependency>
hutools中包含了三个工具类,分别是JSON工具-JSONUtil、JSON对象-JSONObject、JSON数组-JSONArray
1.将Javabean对象转换未json对象(对于map,string之类的对象操作方法与之类似)
实体类对象
@Data
public class ActivityLog {
private String id;
private String name;
private String activityPoint;
private String activityDescription;
}
2.转换为JSON并修改其中数据
@Test
public void test(){
ActivityLog activityLog = new ActivityLog();
activityLog.setId("123");
activityLog.setName("听说明天有台风");
activityLog.setActivityDescription("Here's an operation");
activityLog.setActivityPoint("1");
JSON json = JSONUtil.parse(activityLog);
System.out.println(json);
json.putByPath("name","tingshuomingtianyoutaifeng");
System.out.println(json);
}
执行结果
{"name":"听说明天有台风","activityPoint":"1","id":"123","activityDescription":"Here's an operation"}
{"name":"tingshuomingtianyoutaifeng","activityPoint":"1","id":"123","activityDescription":"Here's an operation"}
可能很多人觉着我这样写很鸡肋,这样是没啥必要的一种操作,但是相信我,时间久了总会出现一种情景是必须要你这样实现的,不信我可以给你看看我写这篇博客时真挚的眼神。
3.接下来我们还可以将转换后的json重新转换为Javabean
@Test
public void test(){
ActivityLog activityLog = new ActivityLog();
activityLog.setId("123");
activityLog.setName("听说明天有台风");
activityLog.setActivityDescription("Here's an operation");
activityLog.setActivityPoint("1");
JSON json = JSONUtil.parse(activityLog);
System.out.println(json);
json.putByPath("name","tingshuomingtianyoutaifeng");
System.out.println(json);
//将json转换为Javabean
String jsons= json.toString();
activityLog = JSONUtil.toBean(jsons,ActivityLog.class);
System.out.println(activityLog);
}
执行结果
{"name":"听说明天有台风","activityPoint":"1","id":"123","activityDescription":"Here's an operation"}
{"name":"tingshuomingtianyoutaifeng","activityPoint":"1","id":"123","activityDescription":"Here's an operation"}
ActivityLog(id=123, name=tingshuomingtianyoutaifeng, activityPoint=1, activityDescription=Here's an operation)
版权声明:本文为Genjicoo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。