1:pom.xml中:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.9</version>
</dependency>
2:
@Component
@Data
@JacksonXmlRootElement(localName = "SomeModel")
public class SomeModel {
private String name;
private int age;
private String addr;
@JacksonXmlElementWrapper(localName = "Myfriends")
@JacksonXmlProperty(localName = "string") //注意:即使换成int程序也不会出异常
private List<String> friends;
}
3:
@Autowired
SomeModel someModel;
@GetMapping("/testlombokdata")
@ResponseBody
public void testlombokdata() throws IOException {
// String t = "{\"name\":\"lisi\",\"age\":10,\"addr\":\"road13\",\"friends\":[\"abc\",\"efg\",\"hij\"]}";
// String s = URLEncoder.encode(t, "utf8");
// System.out.println(s);
//javabean to json or json to javabean
// ObjectMapper objectMapper = new ObjectMapper();
someModel.setName("zs");
someModel.setAge(10);
someModel.setAddr("road13");
String[] fs = new String[]{"abc","efg","hij"};
someModel.setFriends(Arrays.asList(fs));
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
// objectMapper.writeValue(response.getWriter(),someModel);
// System.out.println(someModel.toString());
// HttpServletRequest httpServletRequest = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
// String data = httpServletRequest.getParameter("data");
// SomeModel someModel1 = objectMapper.readValue(data.getBytes(), SomeModel.class);
// System.out.println("data="+someModel1.toString());
//{"name":"zs","age":10,"addr":"road13","friends":["abc","efg","hij"]}
//http://localhost:8080/testlombokdata?data=%7B%22name%22%3A%22lisi%22%2C%22age%22%3A10%2C%22addr%22%3A%22road13%22%2C%22friends%22%3A%5B%22abc%22%2C%22efg%22%2C%22hij%22%5D%7D
//javabean to xml or xml to javabean
XmlMapper xmlMapper = new XmlMapper();
ObjectWriter writer = xmlMapper.writerFor(SomeModel.class);
writer.writeValue(response.getWriter(),someModel);
System.out.println(someModel);
}
来源:oschina
链接:https://my.oschina.net/u/2963604/blog/4776968