我是靠谱客的博主 怡然舞蹈,这篇文章主要介绍Jackson 序列化时 字段/属性 动态命名,现在分享给大家,希望可以做个参考。

一般静态命名我们可能这样做

复制代码
1
2
3
4
5
6
public class Person { @JsonProperty("son_list") private List<String> sons; private String name; }

序列化结果可能是这样的

复制代码
1
2
3
4
5
{ "son_list": ["jack", "tom"], "name": "rob" }

如果我们想要son_list可以动态变化,在 stackoverflow 上看到可以如下操作

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Collections; public class Person { @JsonIgnore private List<String> sons; private String name; // 添加的属性,用来生成sons序列化时的key @JsonIgnore private String id; @JsonAnyGetter public Map<String, Object> getSonsMap() { return Collections.singletonMap(id, sons); } }

就可以根据id的值得到对应的动态key了。
如:
id = “100”

复制代码
1
2
3
4
5
{ "100": ["jack", "tom"], "name": "rob" }

最后

以上就是怡然舞蹈最近收集整理的关于Jackson 序列化时 字段/属性 动态命名的全部内容,更多相关Jackson内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部