java - 如何将对象添加到 JSON

标签 java json jackson

在后期服务中,我使用以下方法来解析和更新数据库:

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"
    }

}

最佳答案

创建一个具有 UserLoginUserSecurityDetails 的包装 POJO。 Jackson 会自动反序列化到您的对象。

It will be good practice to expect required Object instead of creating objects from String.

你的包装类将是这样的

public class SecurityDetailsWrapper {
     private UserLogin;
     private UserSecurityDetails;

     // costructor

     // getters and setters
}

在您的 Controller 方法中,您可以期待 SecurityDetailsWrapper

喜欢

public void someFunction(@RequestBody SecurityDetailsWrapper wrapper) {
  // business logic
}

jackson 将负责反序列化

关于java - 如何将对象添加到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869356/

相关文章:

java - 这是使用扫描仪扫描多个输入的方法吗

java - BeanValidation 错误 - 在类路径上找不到 JSR 303 Bean 验证实现

java - 使用 Jackson : String or JsonNode 进行深度复制

java - 如何在 Spring Boot 中使用 Jackson 将 JSON 对象数组解析为 DTO

java - 在这种情况下如何使用@JsonProperty - jackson API with lombok

java - 如何从数据库生成用于 Hibernate 4 的 Java 类

java - 具有 Activity 事务和连接打开的 LazyInitializationException

jquery - jQuery 自动完成的问题

python - 为什么我的 JSON 输出中有一堆反斜杠

java - Spring 休息多对多响应