1
我想请求帮助,使我的代码更清洁。解析PoJo的JSON字符串属性作为对象
我有这些的POJO例如:
class A {
B b;
}
class B {
int a;
int b;
}
数据来自HTTP请求和所述主体是JSON。我想通过将属性b作为JSON字符串(如下所示)解析为类A.
{
"b":"{\"a\":1,\"b\":2}"
}
目前我使用自定义解析通过杰克逊的ObjectMapper,我做手工值验证。是否有可能在属性'b'上应用一些注释来表明它是一个包含在字符串中的复杂属性?
感谢您的帮助!
没有必要那样做。 Jackson了解嵌套对象并正确反序列化对象'A',所以它将包含实际的'B'实例。 – ike3
如果我让杰克逊进行反序列化,它会通过一个字符串输入来抱怨B中缺少构造函数。我希望有一种方式可以告诉Jackson将JSON格式的字符串视为JSON对象。 – m3dw3
看来你的JSON格式不正确。你可以删除引号'“b”:{\“a \”:1,\“b \”:2}'?因为这个Jackson把它反序列化为String。如果这种格式是有意的(不推荐),那么您可以创建一个Jackson想要的构造函数,并在那里对字符串进行反序列化。 – ike3