java – JSON响应中的重复字段
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – JSON响应中的重复字段,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2071字,纯文字阅读大概需要3分钟。
内容图文
![java – JSON响应中的重复字段](/upload/InfoBanner/zyjiaocheng/741/f54f0c76926948d99b1f16c4b36af5f1.jpg)
我在我的项目中使用Spring boot Jackson依赖项和lombok,作为回应我因为下划线而得到重复的字段
这是我的模型类:
@Getter
@Setter
@Accessors(chain = true)
@NoArgsConstructor
@ToString
public class TcinDpciMapDTO {
@JsonProperty(value = "tcin")
private String tcin;
@JsonProperty(value = "dpci")
private String dpci;
@JsonProperty(value = "is_primary_tcin_in_dpci_relation")
private boolean is_primaryTcin = true;
}
如果我在is_primaryTcin字段中使用下划线,那么我将获得重复字段的响应
{
"_primaryTcin": true,
"tcin": "12345",
"dpci": "12345",
"is_primary_tcin_in_dpci_relation": true
}
如果我从字段isprimaryTcin删除下划线,那么我得到正确的答复
{
"tcin": "12345",
"dpci": "12345",
"is_primary_tcin_in_dpci_relation": true
}
这是因为下划线吗?但是下划线更适合用于变量名称吗?
解决方法:
这是你的类在delomboking之后的样子:
public class TcinDpciMapDTO {
@JsonProperty("tcin")
private String tcin;
@JsonProperty("dpci")
private String dpci;
@JsonProperty("is_primary_tcin_in_dpci_relation")
private boolean is_primaryTcin = true;
public String getTcin() {
return this.tcin;
}
public String getDpci() {
return this.dpci;
}
public boolean is_primaryTcin() {
return this.is_primaryTcin;
}
public TcinDpciMapDTO setTcin(String tcin) {
this.tcin = tcin;
return this;
}
public TcinDpciMapDTO setDpci(String dpci) {
this.dpci = dpci;
return this;
}
public TcinDpciMapDTO set_primaryTcin(boolean is_primaryTcin) {
this.is_primaryTcin = is_primaryTcin;
return this;
}
public TcinDpciMapDTO() {
}
public String toString() {
return "TcinDpciMapDTO(tcin=" + this.getTcin() + ", dpci=" + this.getDpci() + ", is_primaryTcin=" + this.is_primaryTcin() + ")";
}
}
如果未指定生成的属性名称,则杰克逊通过剥离前缀来生成它,如果使用getter则使用get get,或者在不使用getter的情况下序列化字段时使用Java字段名称.默认情况下,Jackson仅在序列化期间使用getter.因为你把@JsonProperty放在字段上,Jackson使用字段和getter并检查字段是否已经通过匹配生成的属性名序序列化(最后一部分是我的猜测)它不识别字段is_primaryTcin生成的属性和从中生成的属性getter is_primaryTcin()同样(一个内部命名为is_primaryTcin,另一个命名为_primaryTcin) – 请注意,如果将is_primaryTcin重命名为as_primaryTcin,问题就会消失.
内容总结
以上是互联网集市为您收集整理的java – JSON响应中的重复字段全部内容,希望文章能够帮你解决java – JSON响应中的重复字段所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。