我有一个看起来像这样的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
来做到这一点?
答案 0 :(得分:3)
使用@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。