環境
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":"なまえ"}
