设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

J2Cache 2.4.1发布,增强JSON序列化体验

2018-8-14 20:09| 发布者: joejoe0332| 查看: 628| 评论: 0|原作者: oschina|来自: oschina

摘要: 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 吐槽或者点赞。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部