0
Class A {
    String a;
    String b;
    String c;
}

Class B {
    String a;
    String b;
}

我希望使用 ObjectMapper.readValue (jString, B.class) 读取 A 类的一个 json 字符串 jString,我可以传递一些参数,这将有助于我也读取 c 但在其他一些结构中?

我正在使用 org.codehaus.jackson.map.ObjectMapper。

4

2 回答 2

0

如果你打算创建A类和B类的实例,你可以读取json两次来创建实例。B 的转换将忽略属性“c”。

A a = mapper.readValue(jString, A.class);
B b = mapper.readValue(jString, B.class);
于 2015-12-03T09:15:48.410 回答
0

老实说,它不适用于 ObjectMapper。

如果你这样做,

ObjectMapper.readValue (jString, B.class),
  1. 因此,库总是在 B 的 getter 和 setter 方法的帮助下解析 json String 中的值并将其分配给 B。
  2. 如果您试图推动除 Object 不存在的部分之外的其他部分,那么它将为您生成错误的东西。

最好先准备这种类型的对象,然后再做。

于 2015-12-02T16:06:44.860 回答