使用Jackson JsonNodeFactory的最佳方法

我正在使用Jackson来构建自定义JSON对象。这是正确的方法吗?

它似乎工作良好(并且输出正确),但是我可能会错过使用JsonNodeFactory的方式。该对象是否像我在这里一样经过传递?

JsonNodeFactory factory = JsonNodeFactory.instance;

ObjectNode dataTable = new ObjectNode(factory);

ArrayNode aaData = new ArrayNode(factory);

for (PkgLoad pkgLoad : pkgLoadList) {

ObjectNode row = new ObjectNode(factory);

row.put("ounces", pkgLoad.ounces);

row.put("revolutions", pkgLoad.revolutions);

aaData.add(row);

}

dataTable.put("aaData", aaData);

回答:

这是可行的,尽管意图是创建实例的是工厂。但最常见的是,您只需使用ObjectMapper访问所有内容,例如:

ObjectMapper mapper = new ObjectMapper();

ObjectNode dataTable = mapper.createObjectNode();

ArrayNode aa = dataTable.putArray("aaData");

分离JsonNodeFactory的主要原因是允许您创建自定义节点类型(通常是标准实例的子类)。然后将ObjectMapper配置为使用其他工厂。为了方便起见,ArrayNode和ObjectNode确实引用了工厂实例,该实例与“

putArray”和其他需要创建新节点的方法一起使用。

以上是 使用Jackson JsonNodeFactory的最佳方法 的全部内容, 来源链接: utcz.com/qa/424600.html

回到顶部