为了账号安全,请及时绑定邮箱和手机立即绑定

无法将 JSON 响应从 com.sun.jersey.api.client

无法将 JSON 响应从 com.sun.jersey.api.client

弑天下 2021-09-03 17:30:10
我正在尝试将 JSON 响应映射到 POJO,某些属性(属性以 @ 开头)无法映射,因此出现以下错误。请找到 JSON 和 Class 文件,要对 POJO 进行哪些更改以映射下面提到的 JSON 的所有属性?JSON{  "@customerId": "123456",  "customerName": "Jobin",  "orders": [    {      "orderId": "bvbundle002075",      "address": {        "@elid": "35475908"      },    }  ]}客户.javaimport java.util.List;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;import javax.xml.bind.annotation.XmlType;@XmlRootElement@XmlTypepublic class CustomerData implements Serializable {    private static final long serialVersionUID = 9163262900343406982L;    private String customerId;    private String customerName;    private List<Order> orders;    @XmlElement(name = "@customerId")    public String getCustomerId() {        return customerId;    }    public void setCustomerId(final String customerId) {        this.customerId = customerId;    }    public String getCustomerName() {        return customerId;    }    public void setCustomerName(final String customerName) {        this.customerName = customerName;    }    public List<Order> getOrders() {        return orders;    }    public void setExistingProducts(final List<Order> orders) {        this.orders = orders;    }}订单.javaclass Order implements Serializable {    private static final long serialVersionUID = 1L;    private String orderId;    private Address address;    public String getOrderId() {        return orderId;    }    public void setOrderId(final String orderId) {        this.orderId = orderId;    }    public Address getAddress() {        return address;    }    public void setAddress(final Address address) {        this.address = address;    }}地址.javaclass Address implements Serializable {    private static final long serialVersionUID = 1L;    private String elid;    @XmlElement(name = "@elid")    public String getElid() {        return elid;    }    public void setElid(String elid) {        this.elid = elid;    }}
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

问题是我试图将 xml 属性映射到 xml 元素。如果您转换响应中提到的上述 JSON,它将产生如下所示的 XML..


<?xml version="1.0" encoding="UTF-8"?>

<root customerId="123456">

   <customerName>Jobin</customerName>

   <orders>

      <element>

         <address elid="35475908" />

         <orderId>bvbundle002075</orderId>

      </element>

   </orders>

</root>

如您所见customerId,elid是 xml 属性而不是元素。


所以我不得不使用下面的来修复它,


@XmlAttribute(name = "customerNumber")  //will map to @customerNumber in JSON

@XmlAttribute(name = "elid")            //will map to @elid in JSON


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信