- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
稍后编辑 2019-05-31
如果我编写一个实例化 Item 的示例 main
方法,然后调用 String s = new ObjectMapper().writeValueAsString(item);
,则自定义序列化程序会被正确调用并生效。
此问题仅在整个应用部署在 Apache TomEE 服务器中时出现。
<小时/>稍后编辑:这不是注释放置的问题(在字段上还是在 getter 上),我尝试了各种组合(在 getter 上注释、在私有(private)字段上注释、在公共(public)字段上注释等...)
<小时/>代码:
import com.fasterxml.jackson....
// YES, all JSON-related stuff is from fasterxml
@JsonAutoDetect
public class Item {
private Date lastModified;
@JsonSerialize(using = CSer.class)
public Date getLastModified() {
return lastModified;
}
public class CSer extends JsonSerializer<Date> {
public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
@Override
public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
throws IOException, JsonProcessingException {
gen.writeString(dateFormat.format(value));
}
}
}
// some place else, in a REST service class
...
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getItems(... {
...
return Response.ok(result.getData()).build();
// result.getData() is an ArrayList of "Item" objects.
}
问题:
我的 lib 文件夹中的 Jackson 文件:jackson-annotations-2.8.0.jar、jackson-core-2.8.8.jar、jackson-databind-2.8.8.1.jar。
我做错了什么?
谢谢。
最佳答案
这可能与您放置在 getter 上的注释有关 - 您可能会移动它以反射(reflect)类似于的内容
public class Item {
@JsonSerialize(using = CSer.class)
private Date lastModified;
// ...
}
或者您必须将 Jackson 配置为仅使用 getter 进行序列化。
关于java - JsonSerialize/JsonDeserialize 在 Apache Tomcat (TomEE) 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56359380/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!