com.blr19c.falowp.bot.system.json.Json.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of falowp-bot-system Show documentation
Show all versions of falowp-bot-system Show documentation
FalowpBot system infrastructure
package com.blr19c.falowp.bot.system.json
import com.fasterxml.jackson.core.TreeNode
import com.fasterxml.jackson.core.type.TypeReference
import com.fasterxml.jackson.databind.DeserializationFeature
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.module.SimpleModule
import com.fasterxml.jackson.databind.node.ArrayNode
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
import java.lang.reflect.Type
import java.time.LocalDateTime
import kotlin.reflect.KClass
/**
* json序列化
*/
object Json {
private val json: ObjectMapper by lazy {
val module = SimpleModule()
module.addDeserializer(LocalDateTime::class.java, LocalDateTimeDeserializer)
ObjectMapper()
.registerModules(JavaTimeModule(), module)
.registerKotlinModule()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
}
fun toJsonString(data: Any): String {
return json.writeValueAsString(data)
}
fun readMap(jsonData: String): Map {
return json.readValue(jsonData, object : TypeReference