当前位置: 首页 > 面试题库 >

使用Jackson JsonNodeFactory的最佳方法

王英奕
2023-03-14
问题内容

我正在使用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”和其他需要创建新节点的方法一起使用。



 类似资料:
  • 我喜欢新的System.net.Http.HttpClient类。它有一个很好的简单的API,它不会抛出正常的错误。但它只是异步的。 我需要代码(深入服务器内部) 编辑:我让PM女士最近向我确认,有一个命令“任何可能采取>X MS(我忘了X)的API必须是异步的”,许多PMs将此解释为“只有异步”(不清楚这是否是意图)。因此,文档DB api只是异步的。

  • 我有一个需求,以PDF和Excel格式生成报告。因为我也选择了碧玉。现在需要你的帮助来确定相同的最佳方法。 注意-我的查询本质上是动态的。在某些情况下,会提供名称;在某些情况下,它们会提供日期,而不是名称;在某些情况下,两者兼而有之。 下面给出了我所确定的方法。 null

  • 问题内容: 当您在Android应用中处理Firebase数据(读,写…)时,您需要获取Firebase引用才能进行数据处理。 由于Firebase引用是一棵JSON树,因此,如果您指向树的根,则可以随时访问子级,而无论深度如何。 问题:从内存和延迟角度来看,在代码中处理此引用的最佳方法是什么? 根 C1 C10 C11 C2 C21 1 /在应用程序的根目录中创建静态Firebase引用。 2

  • 问题内容: 任何人都可以建议我使用以下两种方法中使用REST重定向URL的最佳方法: 问题答案: 重定向有多种形式。该HTTP状态代码系列包含: 这些和其他代码具有不同的语义。正确的选择取决于您的情况。资源是否已永久移动到新位置?还是重定向只是临时的?

  • 问题内容: 我已经阅读了一些有关如何将Mongo与Node结合使用的指南,它们似乎都以不同的方式连接到数据库。一种对我有效的特定方式是: 但是,这对我来说似乎效率低下/很奇怪,每当出现时,我就不得不重新连接到数据库,例如用于创建新用户或检索信息。 似乎更适合我的另一种方法是 我已经看到有几个网站可以按照这些方式进行操作,但是我个人无法满足上述要求。我一直在服务器端收到错误消息。因此,我的问题是,如

  • 问题内容: 我有一个以以下行开头的dockerfile 我认为这应该是从docker容器注册表中提取图像并进行安装。没有? 当我在容器中运行java命令时,出现以下错误 使用Docker安装Java 8(openjdk版本)的最简单,最佳方法是什么? 更新: 问题答案: 也许您缺少了一些东西。 标签或工作正常: 您还可以通过查看Dockerfile并确认它确实定义来进行验证。例如,参见java:8