我有来自Facebook的JSON响应,我 想要反序列化为自定义Java对象。主要是因为无法保证其API能够保持稳定。一旦他们改变它,我的反序列化肯定会失败。
我想要的是将他们的JSON数据反序列化为HashMap<String, Object>
,其中Object
可能是String
或HashMap
。在PHP中,它被称为关联数组,它由json_decode()
函数生成。是否有可能在Java中做同样的事情?
答案 0 :(得分:8)
当然可以。看看Jackson,它可以很容易地做到这一点,例如
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> userData = mapper.readValue(jsonData, Map.class);
生成的Map
将根据需要嵌套多个级别。