環境
implementation "com.fasterxml.jackson.core:jackson-databind:2.9.8"
ObjectMapperの設定をする
ObjectMapperにPropertyNamingStrategyを設定します。Jsonのキーの名前はsnake_caseなので、PropertyNamingStrategy.SNAKE_CASEを設定します。
val objectMapper = jacksonObjectMapper().apply {
setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
}
確認コード
動作確認用のコードです。fun main(args: Array) {
val objectMapper = jacksonObjectMapper().apply {
setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
}
val json = """{
|"user_name": "なまえ"
|}""".trimMargin()
val user = objectMapper.readValue(json)
println("user = ${user}")
val string = objectMapper.writeValueAsString(user)
println("string = ${string}")
}
data class User (val userName:String?)
実行結果
user = User(userName=なまえ)
string = {"user_name":"なまえ"}