【问题标题】:Reading extra field from json string using object mapper使用对象映射器从 json 字符串中读取额外字段
【发布时间】:2015-12-02 15:55:11
【问题描述】:
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。

【问题讨论】:

    标签: java json jackson objectmapper


    【解决方案1】:

    老实说,它不适用于 ObjectMapper。

    如果你这样做,

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

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

    【讨论】:

      【解决方案2】:

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

      A a = mapper.readValue(jString, A.class);
      B b = mapper.readValue(jString, B.class);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 2018-05-29
        相关资源
        最近更新 更多