我使用Jackson-jr来阅读我的JSON文件。其中之一是一个有点复杂:Jackson-jr阅读多态ArrayList
[
{"test-1":["a","b","c","d"]},
{"test-2":["b","j","d"]},
{"test-3":["n","e","o","p","i"]},
{"test-4":["s","a","v","z","b","ç","x","p"]},
{"test-5":["d","q","u"]},
{"test-6":["f","b"]}
]
我的代码来读取很简单:
InputStream inputStream = assetManager.open("test.json");
ArrayList<HashMap<String, ArrayList<String>>> arrays = JSON.std.beanFrom(ArrayList.class, inputStream);
我的目的是让每个阵列与他们每个人的工作:
arrays.get(i);
但是,当这条线被执行时,我有一个例外:
Caused by: java.lang.ClassCastException: com.fasterxml.jackson.jr.ob.impl.DeferredMap cannot be cast to java.util.HashMap
Jackson-jr没有TypeFactory,TypeReference或ObjectMapper。一些链接,我发现答案杰克逊,而不是杰克逊JR:
ClassCastException when convert json to list of objects
Jackson custom deserializer for one field with polymorphic types
Tricky(?) JSON, polymorphic deserialization
有没有说,在杰克逊JR来处理呢?
定义'arrays'为'名单<地图<字符串,列表 >> arrays' –
sidgate
您保存一天。谢谢。 – learner