【发布时间】:2013-07-29 10:34:41
【问题描述】:
public class CustomerAddress {
private Customer customer;
//I think the problem is in hear becouse jackson does not know how to serialize this object list
private List<Address> address;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public List<Address> getAddress() {
return address;
}
public void setAddress(List<Address> address) {
this.address = address;
}
}
public class Address{
private Integer id;
private Customer customer;
private AddressType addressType;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public AddressType getAddressType() {
return addressType;
}
public void setAddressType(AddressType addressType) {
this.addressType = addressType;
}
}
public class Customer {
private Integer id;
private String firstName;
private String middleName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
}
我从 DB 表单中获取数据并像这样将其发送回页面
CustomerAddress customerAddress = customerAddressService.getCustomerAddress(22);
Map<String, Object> map = getMapCustomerAddress(customerAddress);
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
return mapper.writeValueAsString(map);
这是我返回地图的方法
private Map<String, Object> getMapCustomerAddress(CustomerAddress customerAddress) throws IOException {
Map<String, Object> modelMap = new HashMap<String, Object>(3);
modelMap.put("total", 1);
modelMap.put("data", customerAddress);
modelMap.put("success", true);
return modelMap;
}
我遇到的错误
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonMappingException$Reference
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:613)
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)
任何人都可以告诉我如何使用 jackson 将这个“CustomerAddress”类转换为 json
【问题讨论】:
-
如果使用spring mvc,请检查是否包含jackson库和dispatcher-servlet.xml文件是否有
。 -
你在使用 Maven 吗?您的项目类路径中有哪些 JAR
-
当我只将它与客户对象一起使用时它可以工作。问题是我不能将它与“List address;”一起使用。
-
我不想将其更改为“List
地址”,因为当我反序列化来自前端的对象时,它会变得一团糟。必须有一种方法可以将此 pojo 类转换为 json 字符串,而无需更改“List ”
标签: java json extjs jackson pojo