内容简介:J2Cache 上一个版本 2.4.0 我们首次引入了对 JSON 序列化的支持,JSON 序列化是基于 FST 实现的类型无关的序列化技术。JSON 的对象序列化为 J2Cache 实现跨语言支持奠定了基础。 但是 FST 在序列化时,一些诸如类...
J2Cache 上一个版本 2.4.0 我们首次引入了对 JSON 序列化的支持,JSON 序列化是基于 FST 实现的类型无关的序列化技术。JSON 的对象序列化为 J2Cache 实现跨语言支持奠定了基础。
但是 FST 在序列化时,一些诸如类型、对象等元数据用的字段名称经常会有缓存对象的名称有冲突,例如 FST 用 typ 来标识对象的类型,用 obj 来标识对象本身等。为了能与正常对象的属性名区分开,这次 2.4.1 版本对这些元数据名称进行了重新定义,如下表所示:
| FST 属性名 | 调整后的属性名 | 说明 |
| typ | @type | 标识对象类型,如类名 |
| obj | @object | 对象本身 |
| styp | @stype | |
| seq | @seq | |
| enum | @enum | 枚举类型 |
| val | @value | |
| ref | @ref |
下面是一个对象序列化成 JSON 数据的样子:
{"@type":"person","@object":{"age":19,"jobs":{"@type":"map","@object":[4,"creawor",3,"huateng",3,"moabc",5,"oschina",8]},"schoolList":{"@type":"list","@object":[4,{"@type":"school","@object":{"random":652,"name":"西北工业大学"}},{"@type":"school","@object":{"random":579,"name":"泉州第五中学"}},{"@type":"school","@object":{"random":549,"name":"城东中学"}},{"@type":"school","@object":{"random":891,"name":"洛南小学"}}]},"name":"Winter Lau"}}
此外,2.4.1 版本还新增自定义 FST 类型序列化对应短名称,上面的 JSON 数据中,@type 值为 person ,其实对应的全类名是 net.oschina.j2cache.Person ,可直接在 j2cache.properties 中进行配置:
json.map.person = net.oschina.j2cache.Person
这样首先是减小 JSON 的体积,其次是更便于在多语言环境中使用。
此外,该版本还增加了使用 fastjson 进行序列化的扩展,但是经测试,暂时不推荐使用。
Maven:
<dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>2.4.1-release</version> </dependency>
即刻前往 https://gitee.com/ld/J2Cache 吐槽或者点赞。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大型网站技术架构
李智慧 / 电子工业出版社 / 2013-9-1 / 59.00元
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经......一起来看看 《大型网站技术架构》 这本书的介绍吧!