Java类(用作数据传输对象):
类资源还有一个名为id
的字段,它的getter和setter具有不同的类型,因此出现语法错误。
class A extends Resource
{
private int id;
public int getId() { return id; } // syntax error as getId() function already exists in Resource
public void setId(int id) { this.id = id; }
}
由于上面的类是一个DTO,一个JSON响应(带有字段id
)将映射到它,并且不能使用getId(),我想将字段更改为_id_
,并相应地更改getter和setter,并用一个注释标记它,说明bind this toid
字段。
注意:我用的是Spring靴。我尝试使用@JSONProperty注释,但这不起作用。Spring做这件事有注释吗?
谷歌一下,发现了这个问题:Jackson序列化:如何忽略超类属性。适应你的问题。
public class A extends B {
private int id;
public A(int id) {
super.setId("id" + id);
this.id = id;
}
@Override
@JsonProperty("_id_")
public String getId() {
return super.getId();
}
@Override
@JsonProperty("_id_")
public void setId(String id) {
super.setId(id);
}
@JsonProperty("id")
public int getIntId() {
return id;
}
@JsonProperty("id")
public void setIntId(int id) {
this.id = id;
}
}
public class B {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
通过以下方式进行了测试:
@RestController
public class TestController {
@GetMapping("/test")
public A test() {
return new A(1);
}
}
结果是:
{
"_id_": "id1",
"id": 1
}
问题内容: Jackson json注释中以下jax-b注释的等效方式是什么? 我需要生成json而不是xml,并且需要了解在jax-b中等效表示的常规jackson批注。 重命名字段。 使用getter代替字段。 如果json / xml元素名称是Java保留字(例如“ ”,“ ”,“ ”等),则这些功能尤其重要。 因此我们必须将POJO字段分别命名为“ new ”,“ _ public ”,“
我目前正在使用Jackson的XmlMapper和ObjectMapper。我想将该字符串映射到一个POJO(我想我正确地使用了该术语),该POJO有一个与JSON字符串字段同名的私有字段。XML字符串对于同一字段/属性有不同的名称,我想使用JSON字段名称。 我还想从本质上“忽略”该字段(同时保留它),并将其存储为类似于JsonNode的内容,因为该字段的值可以是一些复杂的嵌套值,而没有已知的形
我正在探索GraphQL,想知道是否有任何重命名响应字段的方法,例如我有一个POJO与这些字段 GraphQL查询: 我的回答是这样的 我是否可以将名称字段重命名为类似用户名的名称,以便我的回答如下
我想将spring date字段绑定到pojo类并返回日期 DateOfBornd的类型为java.sql.Date。现在,当我将日期从spring形式传递给函数setDateOfBorning时,它取空值 例如,在register.jsp(注册表单)中,我有specific字段 java(Pojo类) 当我调用getDateOfBorne()时 返回: 预期的 我得到的信息: 请帮助我如何转换这
我正在努力用本地化反序列化世界天气在线API结果。 是否有更好、更简单的解决方案,只为lang对象编写一个自定义反序列化器,并允许GSON自动反序列化其余数据?
我对使用Jackson还是个新手,我正在尝试遵循我的团队的模式来反序列化我们的JSON。现在我遇到了一个问题,当一个字段名与JSON属性不匹配时。 工作示例: 如果JSON属性是hasProfile,它工作得很好,但是如果是has_profile(这是我们的客户端正在编写的内容),它就不工作了,并且我得到一个错误:。我尝试向hasProfile添加JsonProperty注释,但仍然不起作用: 我