杰克逊简单的数据绑定与JSON ...它是如何有用的...我错过了什么?

时间:2011-12-07 04:05:16

标签: java json jackson

当我看到你可以与杰克逊做简单的数据绑定时,我本能地觉得这会非常有用。不必设计/创建特定Java类的前景非常吸引人。但我不明白简单的数据绑定是如何真正加快速度的。如果你以Map<String, Object>结束,那么有相当多的箍要跳过来从地图中取出数据,不是吗?

我必须在这里遗漏一些东西,因为在我看来,你最终会遇到一种不同的解析问题。您不必自己手动解析JSON或编写完全绑定的类,而是通过各种类型的转换等来获取Map中的正确数据。

我错过了什么?有人能告诉我简单的数据绑定在哪里闪耀?

2 个答案:

答案 0 :(得分:2)

简单数据绑定在您不知道要解析的JSON的特定结构并且需要以编程方式处理它的情况下可能很有用(可能结构甚至在配置中定义,也许不是)。 / p>

虽然您也可以使用树模型,但简单的数据绑定可能更容易。

但是,如果在编译时知道JSON结构,那么使用完整数据绑定(Java类)是有意义的。

答案 1 :(得分:1)

我不会争辩说这通常更简单(事实并非如此),所以如果你没有看到这一点,请随意完全忽略这种风格。杰克逊提供多种模型(数据绑定/无类型,树模型,流媒体)的原因是它们提供了不同的权衡取舍;如果一个最适合你的话,就没有必要使用它们。

但是我看到的主要用例是最简单的代码,你所做的只是提取一个或两个值。如果是这样,似乎没有必要定义一个类。另一种可能是递归数据结构。

我认为最后一个原因是许多开发人员来自脚本语言(perl,javascript),在这种情况下处理“无类型”对象(在Perl中,“哈希”)很常见。对于他们来说,这似乎是最自然的方法,类似于他们过去常常做的事情。