0

来自 Facebook 的 JSON 数据示例

{
    "1111111" : {
         "home" : false,
         "activities" : "some value"
    },

    "2222222" : {
         "home" : false,
         "activities" : "some value again"
    }
}


public class Profile{
    private boolean home;
    private String activities;

    // generated setter getter

    public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        Profile mainProfile = mapper.readValue(new File("data.json"), Profile.class);

        System.out.println(mainProfile.getActivities().size());
    }
}



运行上面的文件会产生这个错误。

Unrecognized field "1111111" (Class com.analysis.structure.Profile), not marked as ignorable


我面临的问题是如何将“1111111”值映射到类中的变量?如果我使用@JsonIgnoreProperties(ignoreUnknown=true),它将完全忽略所有 josn 数据,因为第一个数据没有任何要映射的标签。我应该如何使用 Jackson JSON 将这种类型的 json 数据映射到 Java 中?

4

1 回答 1

1

这并不能干净地映射到 POJO,所以也许你应该将它绑定到 a Map,其中 key 是 type String,并且 value 一些 POJO 类型?

于 2012-09-09T00:32:14.273 回答