将JSON映射到POJO不起作用

时间:2015-01-19 08:59:22

标签: json spring pojo

我有一个spring MVC项目,在控制器中我有以下方法:

@RequestMapping(value = IdentityServiceURIConstants.CREATE_NEW_USER, method = RequestMethod.POST)
public @ResponseBody User createUser(@RequestBody User user) {----}

此方法接收一个应该代表用户对象的JSON对象。

我的问题是用户对象中的字段与JSON对象中的字段不同。

示例:JSON中的名字为First_Name,对象中的名字为firstName,因此映射无效。

你是否知道如何解决这个问题,因为我既不能编辑用户对象也不能编辑JSONobject

2 个答案:

答案 0 :(得分:2)

您可以使用 @JsonProperty 将您的java类属性命名为json键名,如下所示:

import com.fasterxml.jackson.annotation.JsonProperty;

public class User {

    @JsonProperty("FIRST_NAME")
    private String firstName;

    @JsonProperty("LAST_NAME")
    private String lastName;

    // getters & Setters methods
}

你的json会是这样的:

{
    "FIRST_NAME": "first name",
    "SECOND_NAME": "second name"
}

答案 1 :(得分:0)

您可以编写DTO课程。

class UserDTO{
      private User user;

      // use getter setter to extract data from object 
}