koltin 如何使用Jackson的ObjectMapper()获取json中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了koltin 如何使用Jackson的ObjectMapper()获取json中的值相关的知识,希望对你有一定的参考价值。


fun getObjectMapper(): ObjectMapper 
return ObjectMapper().registerModule(
JavaTimeModule().addSerializer(
LocalDateTime::class, LocalDateTimeSerializer(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
).addSerializer(
ZonedDateTime::class, ZonedDateTimeSerializer(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
).addSerializer(YearMonth::class, YearMonthSerializer(DateTimeFormatter.ofPattern("yyyy-MM")))
).configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
inline fun <reified T> ObjectMapper.objectToMap(obj: T): Map<String, Any> =
this.readValue(this.writeValueAsString(obj), object : com.fasterxml.jackson.core.type.TypeReference<Map<String, Any>>() )
fun outputPdfFile(bill: Any): File 
val jsonNode= getObjectMapper().objectToMap(bill)
val customerName = BillingStackConfig.getConfig().fastoneBilling.customer.name
return Path.of(
PathConst.OUTPUT_PATH,
PathConst.BILL_FOLDER,
jsonNode["billingCycle"].toString(),
"$customerName-$jsonNode.get("billingCycle")-bill.pdf"
).toFile()


以上是关于koltin 如何使用Jackson的ObjectMapper()获取json中的值的主要内容,如果未能解决你的问题,请参考以下文章

jackson:POJO和map互转

Jackson 反序列化意外令牌(END_OBJECT),

如何使用jackson(Java)反序列化对象中的json对象?

Spring Boot 自定义Jackson ObjectMapper

深潜Koltin协程:挂起是如何工作的?

深入理解Koltin协程:序列构建器