【发布时间】:2018-04-01 16:57:00
【问题描述】:
我有以下 java 类,例如 Employee
class Employee{
String empId;
}
当我使用 Jackson Object Mapper 序列化这个 java 类时,如果员工 ID 为 123,我会得到示例 Json 输出。
{
"empId":"123"
}
如果 emp Id 纯粹是一个数字,例如 123,我需要的是以下输出
{
"empId":123
}
并且,如果员工 ID 是“A123”
{
"empId":"A123"
}
我可以编写自定义 Serializer 类并使用自定义 Serializer 注释 empId,但是在包含许多对象的大型代码库上执行此操作是一个乏味的过程。
Jackson 是否带有任何开箱即用的功能来检查字符串是否为数字,然后将其表示为数字或在序列化过程中将其表示为字符串,类似于将数字写入字符串功能
请告诉我你的建议。
【问题讨论】:
-
为什么不在您的客户上处理这种特殊情况?而不是在服务器上做很多工作?
-
对不起,这不能在客户端完成。这就是我们尝试在服务器上执行此操作的原因。
-
但是您需要 2 种不同数据类型的用例的原因是什么?
标签: java json serialization jackson2