前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >spring/jackson:实现对保存JSON字符串的字段自动序列化和反序列化

spring/jackson:实现对保存JSON字符串的字段自动序列化和反序列化

作者头像
10km
发布于 2022-09-07 08:58:45
发布于 2022-09-07 08:58:45
1.9K10
代码可运行
举报
文章被收录于专栏:10km的专栏10km的专栏
运行总次数:0
代码可运行

对于spring-web项目,在数据库设计时,当我们想增加一个字段时,并不希望修改表结构,希望设计一个专用的扩展字段,将增加的扩展字段以一个JSON字符串形式保存在这个专用字段中。 spring对JSON的序列化和反序列化是依赖jackson来完成的。 数据发送给前端的时候,我们希望jackson在序列化一个数据库记录对象时以JSON的形式返回这个JSON扩展字段的内容,而不是一个String, 同时前端也能以一个JSON的形式定义这个JSON扩展字段,服务端在收到请求jackson在反序列化时能自动将这个JSON字段反序列化为String.这样省去了手工写代码转换的过程才是最方便的。 举例说明一下吧,以下是一个数据库记录对象,props字段为一个JSON扩展字段可以存储任意字段数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static class JsonTestUser{
		private Integer id;
		private String name;
		/** (JSON格式)扩展字段 */
		private String props;
		......//
}

我们希望它序列化时,将props字段以原始内容输出,也就是一个JSON对象,而不这种带转义符的字符串:{\"phone\":\"13088927898\","email":\"hello@qq.com\"}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "id":0,
  "name":"tom",
  "props":{
    "phone":"13088927898",
    "email":"hello@qq.com"
  }
}

序列化

将上面的JsonTestUser#props以原始内容输出,并不复杂,利用jackson的注解@JsonRawValue注解就可以完美支持, 如下在props字段定义上增加@JsonRawValue注解,在序列化props字段就会不加转义符直接原内容输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@JsonRawValue
private String props;

反序列化

如果希望将JSON对象反序列化保存到String字段,就需要自己实现一个JsonDeserializer 代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.io.IOException;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
/**
 * Deserializing JSON property as String with Jackson<br>
 * 实现将有{@link com.fasterxml.jackson.annotation.JsonRawValue}注解的
 * 内容为JSON的String类型字段反序列化为String的反序列化器实现
 * copy from <a ref="https://cassiomolin.com/2017/01/24/deserializing-json-property-as-string-with-jackson/">《Deserializing JSON property as String with Jackson》</a>
 *
 */
public class RawJsonDeserializer extends JsonDeserializer<String> {

    @Override
    public String deserialize(JsonParser jp, DeserializationContext ctxt)
           throws IOException, JsonProcessingException {
    	/**
    	 * 如果希望保存原始字符串内容,空格,tab,换行,则采用如下方式,不解析为JSON对象直接将原字符串返回
    	 */
        long begin = jp.getCurrentLocation().getCharOffset();
        jp.skipChildren();
        long end = jp.getCurrentLocation().getCharOffset();

        String json = jp.getCurrentLocation().getSourceRef().toString();
        return json.substring((int) begin - 1, (int) end);
    }
}

然后再使用@JsonDeserialize注解指定props字段使用我们定义的反序列化器 如下,就可以完美实现JSON字段的自动序列化和反序列化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@JsonRawValue
@JsonDeserialize(using = RawJsonDeserializer.class)
private String props;

参考资料

Deserializing JSON property as String with Jackson

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
工业大模型
工业大模型
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
腾讯发布业界首份行业大模型调研报告:向 AI 而行,共筑新质生产力 | 附下载
2024年政府工作报告明确提出,要“深化大数据、人工智能等研发应用,开展‘人工智能+’行动,打造具有国际竞争力的数字产业集群”。近年来,大模型成为人工智能领域的最大热点。如何有效将大模型技术融入各行各业的实际应用,助力生产力革新和产业升级,成为业界越来越关注的核心问题,也促进了行业大模型的发展。
小腾资讯君
2024/05/14
9.1K13
腾讯发布业界首份行业大模型调研报告:向 AI 而行,共筑新质生产力 | 附下载
接点智能_工业大数据:构建制造型企业新型能力
工信部的数据显示:“中国制造业约占整个世界制造业20%的份额,在500余种主要产品中,我国有220多种产量位居世界第一。2014年,我国共有100家企业入选‘财富世界500强’,其中制造业企业占56家”。
广州接点智能
2019/12/30
4530
接点智能_工业大数据:构建制造型企业新型能力
2023金融业大模型报告重磅发布 | 附全文下载
11月9日,在2023金融街论坛“构建数实融合新模式,助力产业数字金融新发展”分论坛上,中国银保传媒与腾讯研究院联合发布《2023金融业大模型应用报告》,深入解析大模型发展趋势,建立金融业大模型应用体系化蓝图,指引数智金融产业演进。
小腾资讯君
2023/11/24
4.5K0
工业大数据已成制造业转型关键
工信部副部长怀进鹏指出中国制造2025和工业4.0对CPS(信息物理系统)提出了新的挑战,这也反过来对工业大数据、互联网、移动互联网产生新的作用。在《中国制造2025》的大战略下,其核心要素是信息化和工业化的融合,工信部作为行业主管部门,将坚定不移地把两化融合作为核心要素,推动两化融合的深入发展,推动与国际间的友好合作。 工信部原副部长杨学山表示,过去三十年里IT领域发生了很多变化,信息技术的构成正在不断拓展,IT技术和工业技术的融合,使CIO面对的技术体系,从原来的信息处理、传输等转向更广泛的领域。IT技
钱塘数据
2018/02/28
1K0
工业大数据已成制造业转型关键
自主AI能力加速企业智能化转型 | 爱分析报告
随着数据体量的快速增长、算法迭代优化以及CPU、GPU、DPU等多种算力技术的发展,以大数据建模为核心的机器学习技术正被企业广泛应用到营销、广告、风控、生产等场景中。
爱分析ifenxi
2023/03/27
3330
工业大数据成制造业智能化转型重要推手
导读:《中国制造2025》五大工程包括:制造业创新中心建设、工业强基、智能制造、绿色制造和高端装备创新,近日,工信部等四部委正式联合印发五大工程的实施指南,该实施指南最大的亮点是在数值上分步骤细化了目
钱塘数据
2018/03/01
7790
工业大数据成制造业智能化转型重要推手
工业互联网的现状、发展与未来(中国工业互联网研究报告)
面对不断提升的成本、运营压力,以及回报率走低的趋势,老牌工业企业“通用电气”在2012年提出了“工业互联网(Industrial Internet)”的概念,随后美国五家行业龙头企业联手组建了工业互联网联盟(IIC),将这一概念推广开来。之后,除了像GE这样的制造业巨头,IBM、思科、英特尔和AT&T等IT企业也加入了该联盟。
庞九公子
2020/06/02
30.6K4
工业互联网的现状、发展与未来(中国工业互联网研究报告)
如何拯救无法「深度学习」的制造业,2019工业智能灵魂10问
我国是制造业第一大国,2018 年制造业增加值达 26.5 万亿元,占 GDP 总量的 29.4%,占比近三分之一。同时我国又是人工智能第二大国,拥有全球第二多的 AI 企业。然而一道「鸿沟」将它们分隔两地。
机器之心
2020/02/12
7680
如何拯救无法「深度学习」的制造业,2019工业智能灵魂10问
数据猿专栏 | 工业大数据:构建制造型企业新型能力
<数据猿导读> 2015年5月8日,国务院公布《中国制造2025》,这是中国版的“工业4.0”规划。该规划提到“加快推动新一代信息技术与制造技术融合发展,把智能制造作为两化深度融合的主攻方向。大数据时
数据猿
2018/04/19
1K0
数据猿专栏 | 工业大数据:构建制造型企业新型能力
大咖丨昆仑数据陈晨:工业大数据真正要做的是智能分析和智能决策
“真正的大数据不是有了数据,把这些数据接入之后存起来就可以了,真正要做的事情是智能分析和智能决策,通过在两化融合的基础上构建的智能分析优化系统“工业大脑”,进行相应的智能决策。” 近年来,工业大数据逐
大数据文摘
2018/05/24
6990
【干货】清华陆薇:释放工业大数据价值
导读:第四次工业革命以美国的工业互联网、德国的工业4.0为代表。中国也提出了“中国制造2025”的发展纲要。大数据如何助理中国工业4.0的发展,工业大数据从哪里来?大数据对于工业、制造业的价值又在哪里
大数据文摘
2018/05/24
6670
工业互联网平台架构方案,构建工业互联网企业数字化、网络化、智能化服务体系
工业互联网平台基于ICT技术打造的开放式平台,聚焦“联接+云”,提供智能化的边缘层、泛在网络、可信IaaS、工业PaaS,及汇聚生态伙伴的工业SaaS, 助力制造企业数字化转型。工业互联网平台面向制造业数字化、网络化、智能化需求,基于海量数据构建采集、汇聚、分析的服务体系,能够支撑工业互联网企业制造资源泛在连接、弹性供给、高效配置,有效助力制造企业提高产品质量、生产效率和服务水平,同时降低成本,以工业互联网企业平台为核心的融合生态之争是全球制造业竞争的热点。
数商云
2019/11/20
3.5K0
工业互联网平台架构方案,构建工业互联网企业数字化、网络化、智能化服务体系
工业互联网平台系统:数字化、网络化、智能化架构模式(图文)
工业互联网平台基于ICT技术打造的开放式平台,聚焦“联接+云”,提供智能化的边缘层、泛在网络、可信IaaS、工业PaaS,及汇聚生态伙伴的工业SaaS, 助力制造企业数字化转型。工业互联网平台面向制造业数字化、网络化、智能化需求,基于海量数据构建采集、汇聚、分析的服务体系,能够支撑工业互联网企业制造资源泛在连接、弹性供给、高效配置,有效助力制造企业提高产品质量、生产效率和服务水平,同时降低成本,以工业互联网企业平台为核心的融合生态之争是全球制造业竞争的热点。
数商云网络科技
2019/12/06
6.7K0
工业互联网平台系统:数字化、网络化、智能化架构模式(图文)
以数为擎,数字化助力药企开辟提质增效新路径|爱分析报告
面对经营利润持续承压、合规监管日益趋严,医药企业数字化转型进入快速发展期,并带来新的数字化需求。
爱分析ifenxi
2023/09/14
4400
以数为擎,数字化助力药企开辟提质增效新路径|爱分析报告
工业互联网及其驱动的数字化转型
首先我们可以看我们对未来的这个市场的一个总体的一个判断。在过去几年我们放眼过去,几年来看整个的话,首先全球经济呈现一个总体放缓的态势,包括投资和贸易都缺乏一些新的增涨锋利,全球的整体的投资上也在一个具备较低的水平,一个徘徊,预计到了2035年的全球的GDP增长率将下降到3%以下,它已经能够体现全球的经济总体上是一个放缓,同时从去年开始,我们可以看到贸易全球的一个贸易保护主义再抬头,他当前的全球贸易环境跟十年前是完全不一样,跟三年前也不一样,当时我们看到在全球经济体上更多地是强调区域的一个贸易平衡,包括这种发达国家如何向发展中国家进行更多的落地投资等。现在各个国家在这个经济大环境下都产生了一些就是怎么样保全自己维持自身产业优势的一种想法,都在整体的经济蛋糕不能做大的情况下,再势必会挤压到其他的国家,比较典型的是我们去年可以看到美国一系列的这种贸易保护的政策,对我们国家像这种产业链向高端的转型来进行挤压,同时我们也能看到包括美国欧盟的制造业,虽然未来发展有一定的不确定性,但他们的制造业也是在缓慢的复苏,同时像越南,印度等等的发展中国家,他们的工业增加值一直保持一个比较高速的增长,另外我们国家从对外的形式上来看是面临双方的一个抵押这种态势还是非常明显的。
云大学小编
2020/06/05
5930
工业互联网及其驱动的数字化转型
生成式AI“进军”制造业:应用范式、趋势与问题
以ChatGPT、Llama等为代表的大模型技术拉开了迈向通用人工智能的序幕,人工智能成为全球经济增长的重要驱动力,对各类产业的智能化带来全新的空间。根据普华永道的预测,到2030 年,人工智能可为全球经济贡献高达 15.7 万亿美元,超过中国和印度目前的产出总和。其中,6.6 万亿美元可能来自生产率的提高,9.1 万亿美元可能来自消费端的影响。对于制造业,人工智能一直是智能制造、工业4.0、工业互联网等领域的重要部分,在ChatGPT、Stable Diffusion等崛起前,质量检测、设备预测性维护等代表性的人工智能应用已经深度融入制造业,并且形成成熟的应用范式。
小腾资讯君
2023/10/17
9540
探秘能源行业AI密码:云鼎科技用大模型实现了″四个转变″
DeepSeek现象级出圈后,光大证券在研报中抛出了这样一个的观点:大模型有望全面赋能流程工业和智能制造。
Alter聊科技
2025/03/21
950
探秘能源行业AI密码:云鼎科技用大模型实现了″四个转变″
汤道生的下一场战事:大模型时代的产业「智能化」升级战怎么打?
2023 年上半年,百模大战如火如荼,成了国内 AI 领域最热门的讨论话题。但相比之下,腾讯显得有些低调。在战况最激烈的 4、5 月份,腾讯没有向外界发布任何信息。在 5 月份的 2023 腾讯股东大会上,甚至有人忍不住问马化腾,腾讯是不是在憋什么大招?
机器之心
2023/09/19
1870
汤道生的下一场战事:大模型时代的产业「智能化」升级战怎么打?
传统产业数字化转型的主要趋向、挑战及对策
当前,数字化浪潮方兴未艾,以大数据、云计算、人工智能为代表的新一代数字技术日新月异,催生了数字经济这一新的经济发展形态。多年来,消费互联网的充分发展为我国数字技术的创新、数字企业的成长以及数字产业的蓬勃发展提供了重要机遇。伴随着数字技术的融合应用以及我国供给侧结构性改革的不断深化,加快数字技术与实体经济的融合发展已成为共识。党的十九大报告亦明确提出,“加快发展先进制造业,推动互联网、大数据、人工智能和实体经济深度融合”。
数商云市场营销总监
2021/05/07
8520
AI的下一个时代!腾讯发布AIGC发展趋势报告2023|附下载
---- 新智元报道   编辑:好困 【新智元导读】随着AIGC的爆发,学术界和产业界也都形成共识:AIGC绝非昙花一现,其底层技术和产业生态已经形成了新的格局。 2022年,从引爆AI作画领域的DALL-E 2、Stable Diffusion等AI模型,到以ChatGPT为代表的接近人类水平的对话机器人,AIGC不断刷爆网络,其强大的内容生成能力给人们带来了巨大的震撼。 就内容生产而言,AIGC作为新的生产力引擎,让我们从过去的PGC、UGC,已经不可避免地进入AIGC时代。AIGC代表着AI技术
新智元
2023/02/24
1.2K1
AI的下一个时代!腾讯发布AIGC发展趋势报告2023|附下载
推荐阅读
腾讯发布业界首份行业大模型调研报告:向 AI 而行,共筑新质生产力 | 附下载
9.1K13
接点智能_工业大数据:构建制造型企业新型能力
4530
2023金融业大模型报告重磅发布 | 附全文下载
4.5K0
工业大数据已成制造业转型关键
1K0
自主AI能力加速企业智能化转型 | 爱分析报告
3330
工业大数据成制造业智能化转型重要推手
7790
工业互联网的现状、发展与未来(中国工业互联网研究报告)
30.6K4
如何拯救无法「深度学习」的制造业,2019工业智能灵魂10问
7680
数据猿专栏 | 工业大数据:构建制造型企业新型能力
1K0
大咖丨昆仑数据陈晨:工业大数据真正要做的是智能分析和智能决策
6990
【干货】清华陆薇:释放工业大数据价值
6670
工业互联网平台架构方案,构建工业互联网企业数字化、网络化、智能化服务体系
3.5K0
工业互联网平台系统:数字化、网络化、智能化架构模式(图文)
6.7K0
以数为擎,数字化助力药企开辟提质增效新路径|爱分析报告
4400
工业互联网及其驱动的数字化转型
5930
生成式AI“进军”制造业:应用范式、趋势与问题
9540
探秘能源行业AI密码:云鼎科技用大模型实现了″四个转变″
950
汤道生的下一场战事:大模型时代的产业「智能化」升级战怎么打?
1870
传统产业数字化转型的主要趋向、挑战及对策
8520
AI的下一个时代!腾讯发布AIGC发展趋势报告2023|附下载
1.2K1
相关推荐
腾讯发布业界首份行业大模型调研报告:向 AI 而行,共筑新质生产力 | 附下载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档