以类型安全的方式在Java中表示JSON

时间:2014-06-09 22:16:32

标签: java json jackson

是否有一种以方便,易用,类型安全的方式在Java中表示JSON的好方法?

我们一直在使用地图,列表和基元来完成它。这很好,除了我们必须添加大量缺失值的检查。

杰克逊有一个很好的方法来处理这个问题:

JsonNode node;
// returns MissingNode if name not present, no null check required
node.path("name").asText(); 
但是,杰克逊的语法在其他方面令人不舒服。它们的类不实现Map或List接口,JsonNode接口不可修改。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

只是为了确保你知道它:杰克逊可以将JSON绑定到Map或从Map<String,Object> map = new ObjectMapper().readValue(jsonSource, Map.class); 绑定JMS:

POJO pojo = new ObjectMapper().readValue(jsonSource, POJO.class);

以及完整的POJO,与其他人一样评论:

JsonNode

因此,虽然您当然可以使用{{1}}(又名树模型),但有其他方法通常更方便。