java - 使用 jackson 解包内部 json 对象

标签 java json jackson

我有一个看起来像这样的 JSON

{
    "file": "sample.txt",
    "valid": "true",
    "parameters": {
         "size": "15kb",
         "charset": "UTF-8",
         ....
    }
}

但我想将其反序列化为单个对象。 不是这样的

class ValidatedFile {
    String file;
    boolean valid;
    FileParameters params;
}

但是像这样

class ValidatedFile {
    String file;
    boolean valid;
    String size;
    String charset;
    ....
}

我需要对该对象进行某种展开。 如何使用 jackson 做到这一点?

最佳答案

使用@JsonProperty("parameters"):

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.Map;

public class Product {

    String file;
    boolean valid;
    String size;
    String charset;



    @JsonProperty("parameters")
    private void unpackNested(Map<String,Object> parameters) {
        this.size = (String)parameters.get("size");
        this.charset = (String)parameters.get("charset");
    }

}

其他approaches .

关于java - 使用 jackson 解包内部 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53920863/

相关文章:

java - Java 机器人类的贝塞尔曲线

php - Laravel 身份验证 session cookie 未发送

iOS JSON 解析

java - 创建自定义 Jackson 注释

java - 无法使用 Jackson lib 反序列化 JSON

java - MySql 备份不工作

java - 通过 Java 进程执行的软件的虚拟文件系统环境

java - 通过 java 中的套接字损坏的字符串

json - 在golang中解析JSON的一部分

json - Spring Boot中的角色基础Json输出