使用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