FasterXML / FasterXML/jackson-modules-java8
Cannot read Optionals written with StdTypeResolverBuilder
- 主要語言
- Java
- 星號
- 425
- 分支
- 124
- PR 合併指標
- 30 天內沒有已合併 PR
描述
The following test fails on Jackson 2.9.7 and passes on 2.8.11:
```
@Test
public void test() throws Exception {
ObjectMapper mapper = new ObjectMapper();
mapper.setDefaultTyping(
new StdTypeResolverBuilder()
.init(JsonTypeInfo.Id.CLASS, null)
.inclusion(JsonTypeInfo.As.WRAPPER_OBJECT)
);
mapper.registerModule(new Jdk8Module());
String json = mapper.writeValueAsString(new Foo(Optional.of(1)));
System.out.println(json);
mapper.readValue(json, Foo.class);
}
public static class Foo {
private Optional bar;
public Foo() {
}
public Foo(Optional bar) {
this.bar = bar;
}
public Optional getBar() {
return bar;
}
public void setBar(Optional bar) {
this.bar = bar;
}
}
```
Complete runnable project with this test-case can be found on https://github.com/isopov/jackson-optional-test
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
首先針對 Jackson 2.9.7 和 2.8.11 執行 https://github.com/isopov/jackson-optional-test 中的完整測試案例,然後追蹤反序列化期間使用的 Jdk8Module 和 StdTypeResolverBuilder 處理流程。當包含 Optional.of(1) 的序列化 Foo 能夠在受影響的版本上成功讀回時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- backend
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100