用Jackson转换json对象中的原始json字符串

时间:2017-03-31 02:02:07

标签: java json jackson jackson-databind

Json对象可以有字符串,这些字符串可以表示另一个Json对象。例如:

{
  "foo" : "foo",
  "bar" : "{\"fizz\":\"baz\"}"
}

JSON之上为Java String:

"{ \"foo\" : \"foo\", \"bar\" : \"{\\\"fizz\\\":\\\"baz\\\"}\"}"

假设上述结构,我如何让jackson将bar属性反序列化为另一个POJO?实施例

class FooBar{
    private String foo;
    private FizzBazz bar;
}

class FizzBazz {
    private String fizz;
}

1 个答案:

答案 0 :(得分:-1)

使用com.fasterxml.jackson.core中的ObjectMapper jackson-databind

public void convertToPojo(){
String jsonInString="{ \"foo\" : \"foo\", \"bar\" : \"{\\\"fizz\\\":\\\"baz\\\"}\"}";

ObjectMapper mapper = new ObjectMapper();
FooBarclsObject = mapper.readValue(jsonInString, FooBar.class);
}