使用杰克逊解开内部json对象 [英] unwrap inner json object using jackson

查看:97
本文介绍了使用杰克逊解开内部json对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've got a JSON that looks like this

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

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

But I want to deserialize it as a single object. Not like this

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

但是这样

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

我需要对该对象进行某种形式的包装. 如何使用jackson做到这一点?

I need to do some kind of unwrapping of this object. How to do it using 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");
    }

}

其他方法.

这篇关于使用杰克逊解开内部json对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆