当我尝试将对象反序列化为json字符串时,我遇到了一些问题。
我收到了以下内容:
{
"idUser": 1,
"name": "2",
...
}
但我想实现这个目标:
{
"user": {
"idUser": 1,
"name": "2",
...
}
}
我正在使用此代码序列化我的对象:
public static String deserializeUser(User user){
ObjectMapper objectMapper = new ObjectMapper();
String json = "";
try {
json = objectMapper.writeValueAsString(user);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return json;
}
我正在使用api com.fasterxml.jackson
这是我的用户类:
public class User {
public long idUser;
public String name;
public String email;
public String phoneNumber;
@JsonProperty("cpf")
public String CPF;
public String password;
public boolean active;
private String facebookPictureUrl;
private String cameraTakenPhotoBase64;
private String facebookUserId;
... (constructor and getters/setters)
}
答案 0 :(得分:0)
这是因为您正在序列化User实例。预期的JSON匹配具有用户属性的地图。所以你可以通过以下方式实现它:
Map<String, User> userMap = new HashMap<String, User>();
userMap.put("user", user);
String json = "";
try {
json = objectMapper.writeValueAsString(userMap);
} catch (JsonProcessingException e) {
e.printStackTrace();
}