[英]jackson databinding version 2.9.5 unable to parse the object to JSON String
我們已將 Jaxkson-databinding、jackson-core 和 jackson-annotation api 的版本從 2.8.2 升級到 2.9.5。 升級后,如果我正在使用,我的 object 將變為空白 json 字符串(對於 2.8.2,相同的代碼工作正常)
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibilityChecker(
mapper.getVisibilityChecker().
with(JsonAutoDetect.Visibility.NONE));
但如果我將代碼更改為 2.9.5 版,同樣可以正常工作
mapper.setVisibilityChecker(mapper.getSerializationConfig()
.getDefaultVisibilityChecker()
.withFieldVisibility(JsonAutoDetect.Visibility.NONE)
.withGetterVisibility(JsonAutoDetect.Visibility.PUBLIC_ONLY)
.withSetterVisibility(JsonAutoDetect.Visibility.NONE)
.withIsGetterVisibility(JsonAutoDetect.Visibility.NONE));
我在 API 的變更集中找不到任何與此相關的版本升級變更
看來,在您的代碼的第一部分中,您在使用JsonAutoDetect.Visibility.NONE時禁用了 POJO 上字段的可見性
在第二部分中,您啟用了 POJO 的公共 getter 的可見性。
2.9 版中有一個問題,2.9.5 解決了這個問題。 在這里顯示:https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5和https://github.com/FasterXML/jackson-databind/issues/1947 。
也許您應該嘗試使用 2.9.4。 如果您的代碼在 2.9.4 上運行。 它可能會受到變化的影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.