你好,我想知道在使用Spring Boot时如何将json消息映射到java中的对象.
Hello I'd like to know how I could mapp my json message to object in java when using spring boot.
让我说我正在获取json
Let's say I'm getting json like
{ "customerId": 2, "firstName": "Jan", "lastName": "Nowak", "town": "Katowice" },我想在我的java程序中使其成为实体: 出于任何原因,我都不希望字段名匹配
and I'd like to make it entity in my java program: and for whatever reason I dont want to have match on field names
public class Customer { //Something like @Map("customerId") private long OMG; //Something like @Map("firstName") private String WTF; //Something like @Map("lastName") private String LOL; //Something like @Map("town") private String YOLO;我找不到应该使用的注释,不是使用杰克逊,而是内置在spring boot转换器中?
I cannot find what annotation I should use, Not using jackson, just built in spring boot converter??
推荐答案Jackson开箱即用,提供了春季启动功能.
Spring boot comes with Jackson out-of-the-box.
您可以使用@RequestBody Spring MVC批注将json字符串解编组到Java对象中...
You can use @RequestBody Spring MVC annotation to un-marshall json string to Java object... something like this.
@RestController public class CustomerController { //@Autowired CustomerService customerService; @RequestMapping(path="/customers", method= RequestMethod.POST) @ResponseStatus(HttpStatus.CREATED) public Customer postCustomer(@RequestBody Customer customer){ //return customerService.createCustomer(customer); } }
使用@JsonProperty和相应的json字段名称注释您的实体成员元素.
Annotate your entities member elements with @JsonProperty with corresponding json field names.
public class Customer { @JsonProperty("customerId") private long OMG; @JsonProperty("firstName") private String WTF; @JsonProperty("lastName") private String LOL; @JsonProperty("town") private String YOLO; }
更多推荐
如何使用Spring Boot将JSON映射到对象
发布评论