假设有一个具有布尔属性的类,其名称以开头为
:
class Preferrable {
var isPreferred: Boolean = true
}
它被序列化为{“preferred”:true}
,删除是
部分。
正如本问题中提到的,为了防止这种情况,我们需要使用@jsonproperty(“ispreferred”)
注释显式地指定属性名。
解决办法是对属性getter应用注释。它对数据类不起作用,对我来说,这段代码看起来有点太多了,不能保持属性名的原样:
class Preferrable {
var isPreferred: Boolean = true
@JsonProperty(value = "isPreferred")
get() = field
}
这样的行为背后的原因是什么?只是个虫子吗?是否有更简单的方法来防止Is
删除Kotlin的前缀?
@get:JsonProperty("isPreferred")
var isPreferred: Boolean = true
请注意,这确实适用于数据类,例如。
data class Preferrable(
@get:JsonProperty("isPreferred")
var isPreferred: Boolean = true
)
问题内容: 我继承了在getter / setter上具有@JsonProperty批注的某些位代码。目的是当使用Jackson库序列化对象时,字段具有该特定名称。 当前代码: 现在,对于另一个工具,我还需要使用JsonProperty对该字段进行注释。因此,这将是我更改的代码: 是否有人在字段和获取器/设置器上都使用了相同的注释?我在网上四处张望,却什么也没看见。 我已经编译并运行了代码,但是我
问题内容: 我继承了在getter / setter上具有@JsonProperty批注的某些位代码。目的是当使用Jackson库序列化对象时,字段具有该特定名称。 当前代码: 现在,对于另一个工具,我还需要使用JsonProperty对该字段进行注释。因此,这将是我更改的代码: 是否有人在字段和获取器/设置器上都使用了相同的注释?我在网上四处张望,却什么也没看见。 我已经编译并运行了代码,但是我
我继承了在getter/setter上有@JSONProperty注释的特定位代码。这样做的目的是,当使用Jackson库序列化对象时,字段具有特定的名称。 当前代码: 我已经编译并运行了代码,但我不确定这是否会导致任何问题。对此有什么想法吗?
问题内容: 快速提问: 在JSONNet中-如何获取布尔true / false以序列化为布尔1/0 我可以看到我们如何处理空值,而所有这些似乎都找不到如何执行此操作。 这可能吗? 问题答案: 您可以像这样实现自定义转换器:
问题内容: 我正在使用Java lombok批注@Getter为我的POJO生成吸气剂。我有一个名为“ isAbc”的“布尔”字段。在这种情况下,@ Getter批注生成名为“ isAbc()”的方法。它不应该生成名为“ isIsAbc()”的方法吗? 问题答案: 阅读龙目岛页面上的“小字”部分https://projectlombok.org/features/GetterSetter.html
没有重写jackson从getter获得的默认名称。如果我用和jackson序列化下面的类,我会得到 如您所见,JsonProperty注释不起作用 将放在字符串本身也不起作用。我可以改变名字的唯一方法是重命名getter,唯一的问题是它的第一个字母总是小写的