在后期服务中,我使用以下方法来解析和更新数据库:
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(<String>);
UserLogin userLogin = mapper.convertValue(node.get("UserLogin"), UserLogin.class);
UserSecurityDetails userSecurityDetails = mapper.convertValue(node.get("UserSecurityDetails"), UserSecurity
现在,在获取服务时,我希望通过从数据库中撤消并添加到JSON来发送相同的数据。有谁能建议什么是最好的方式?
要形成的示例JSON:
{
"UserLogin":
{
"user_login_id": "10011",
"user_password": "password"
},
"UserSecurityDetails":
{
"user_sequence_id": "1",
"seq_question_id": "1",
"seq_answer": "Test Answer"
}
}
答案 0 :(得分:1)
创建包含UserLogin
和UserSecurityDetails
的包装器POJO。杰克逊将自动deserialize
到您的对象。
优良作法是期望所需的Object而不是从String创建对象。
你的Wrapper类就像
public class SecurityDetailsWrapper {
private UserLogin;
private UserSecurityDetails;
// costructor
// getters and setters
}
在您的Controller
方法中,您可以期待SecurityDetailsWrapper
。
像
public void someFunction(@RequestBody SecurityDetailsWrapper wrapper) {
// business logic
}
杰克逊将照顾Deserialization
。