springboot整合hutools(一)之json数据转换修改

  • Post author:
  • Post category:其他


首先将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 版权协议,转载请附上原文出处链接和本声明。