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(Java)反序列化对象中的json对象?