JSONProperty
没有重写jackson从getter获得的默认名称。如果我用ObjectMapper
和jackson序列化下面的类,我会得到
{"hi":"hello"}
如您所见,JsonProperty注释不起作用
class JacksonTester {
String hi;
@JsonProperty("hello")
public String getHi() {
return hi;
}
}
将@jsonproperty
放在字符串本身也不起作用。我可以改变名字的唯一方法是重命名getter,唯一的问题是它的第一个字母总是小写的
问题是我同时使用了旧的和新的jackson库
也就是说,在导入org.codehaus.jackson.annotate.jsonproperty之前,我必须将其改为
,以便与我使用的库保持一致。
因为我使用的是maven,这也意味着更新我的maven依赖项。导入com.fasterxml.jackson.annotation.jsonproperty;
为了使它工作,我需要getter上的@jsonproperty
注释(将它放在对象上不起作用)
我在这里找到了答案(多亏了francescoforesti)@JsonProperty没有按预期工作
我使用Jackson(2.1.1)进行JSON序列化/反序列化。我有一个带有JAXB注释的现有类。大多数注释都是正确的,可以像jackson一样使用。我使用mix-ins稍微改变这些类的反序列化/序列化。 在我的ObjectMapper构造函数中,我执行以下操作: 基于上述情况,由于内省者的顺序,Jackson注释优先于Jaxb。这是基于Jackson Jaxb文档的。对于我希望忽略的字段,将添加
假设我有以下XML模型: 如果我将类以下约定重命名为: 这两种元素都是: 来自的XML 看起来像这样: 但我希望它看起来像这样: 我做错什么了吗?我看到我可以使用@JsonProperty,它可以工作,但只适用于字段,我觉得在XML元素上使用JsonProperty是错误的。我的模型类可以命名为CUSTOMER、PERSON、USER吗?或者我应该重命名它们吗?如果重命名它们更好,我应该使用Jso
我开发了一个Spring Boot应用程序。该应用程序可以部署到测试或prod环境,该应用程序使用REST API发出请求。我使用POJO作为包装器,JsonProperty注释包含要推送到的API的字段ID。 ie 这些值的字段标签在测试endpoint上不同。因此,测试endpoint可能希望属性映射为 我希望能够利用Spring Boot对基于概要文件的属性文件的本机支持。在运行时从外部属性
Spring Boot应用程序的任务是每隔这么多分钟更新一次远程集成API。此应用程序可以部署到测试或prod环境中,通过“application.properties”标志通知应用程序应该查看的endpoint。POJO被Jackson序列化并推送到endpoint,JsonProperty注释包含它被推送到的API的字段ID。 ie 这些值的字段标签在测试endpoint上不同。因此,测试en
kotlin 1.2.10 Jackson-Module-kotlin:2.9.0 根据下面的答案,下面的工作对我来说
问题内容: 我有一个看起来像这样的课: 而且我不想再创建10个类似的类,只是因为我只需要更改一行代码(在这种情况下为@JsonProperty(“ difficulties”))。该属性值取决于类型。可以在一堂课上写吗? 问题答案: 基于Jackson的响应-在运行时修改属性而无需 MichałZiober 进行注释,在这里,我可以通过重写PropertyNamingStrategy来更改默认字段