json转list对象集合(jsonobject转实体类)

之前业务开发时,有一个字段接收的数据是Json格式的,并且需要以Json形式入库:

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

数据库中是这样存储的,这里实际是一个Json数组。

[
{
"label":"result1",
"name":"较好",
"readonly":false
},
{
"label":"result2",
"name":"一般",
"readonly":false
},
{
"label":"result3",
"name":"较差",
"readonly":false
},
{
"label":"result4",
"name":"极差",
"readonly":false
}
]

如果这个数据你要存取,你会怎么做?存入时,前端直接传Json格式的数据给你。取出时,你可能会再将Json数据转成List,以便做其他的操作。

但是在面向对象的思想中,这个Json数组中的每个元素就是一个对象,我们可不可以在代码层中以List的形式存,然后以List的形式取出,中间的Json转换有程序自动去做,不需要开发去手动转。

当然有实现的方法,我们来看效果:

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

我们在实体类中的这个字段写成Lis形式的,在上面添加@ColumnType注解。这个注解用来实现List与Json之间的自动互转。然后需要在Mapper.xml文件中配置:

<resultcolumn="survey_conclusion_options"property="surveyConclusionOptions"typeHandler="com.xxx.SurveyConclusionTemplateTypeHandler"/>

我们在这个字段添加typeHandler。

这样我们下代码存数据的时候就是添加List而不是Json了。

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

查看一下数据库,已经自动转成Json了:

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

我们取出时,只需要直接查询,不需要做别的处理,返回的就是List了。

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

是不是存取很方便。

现在我们来看看字段注解中
SurveyConclusionTemplateTypeHandler这个转换类。

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

这里用到了JsonTypeHandler,并且指定了实体类。

我们来看看JsonTypeHandler。

SpringBoot中如何让List和Json自动互转SpringBoot中如何让List和Json自动互转

主要是做Json的处理。完整代码可以上网自行下载。

好了这篇文章就到这里啦,希望对大家有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至624739273@qq.com举报,一经查实,本站将立刻删除。
Like (0)
柳的头像

相关推荐

发表回复

Please Login to Comment
微信
微信
SHARE
TOP
要想花得少,就用购宝。话费电费9折起,官方公众号:购宝