首先将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)
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐