Usage of Jackson @JsonProperty annotation for kotlin data classes

后端 未结 6 1225
野趣味
野趣味 2020-12-09 07:14

kotlin 1.2.10 jackson-module-kotlin:2.9.0

I have the following data class in kotlin:

data class CurrencyInfo(
        @JsonProperty(\"currency_info\"         


        
6条回答
  •  感情败类
    2020-12-09 08:15

    @JsonProperty annotations in your code are all put on private fields within your data class and by default Jackson doesn't scan private fields for annotations. You have to instruct it to do otherwise by putting @JsonAutoDetect annotation:

    @JsonAutoDetect(fieldVisibility = Visibility.ANY)
    data class CurrencyInfo(
        @JsonProperty("currency_info") var currencyInfo: CurrencyInfoItem?
    )
    

    or alternatively you can move your annotations on accessor methods:

    data class CurrencyInfo(
        @get:JsonProperty("currency_info") var currencyInfo: CurrencyInfoItem?
    )
    

提交回复
热议问题