从原版 JSON 中提取数据 Java/Camel/Spring

Extract data from JSON in vanilla Java/Camel/Spring

我正在尝试编写一个 Camel 路由以通过 Jolokia REST API 从 ActiveMQ 服务器获取 JMX 数据。我能够从 ActiveMQ 服务器成功获取 JSON 对象,但是我 运行 遇到了一个问题,我无法弄清楚如何在我的 Camel 路由中解析 JSON 对象。 Camel 与 Jackson、Gson 和 XStream 集成在一起,但它们中的每一个似乎都需要一个我没有的额外库。 Camel 也支持 JSONPath,但它需要另一个我没有的库。到目前为止,我所有的研究似乎都指向使用一个新的软件库,所以我正在寻找知道解决方案的人,以节省我一些时间,避免尝试更多的死胡同。

最大的问题是我试图用 Java/Camel/Spring/ActiveMQ/apache-commons 附带的东西来解析 JSON。我更喜欢只使用 Camel/Spring XML 的解决方案,但另一个使用 Java 的解决方案会起作用(也许是 JXPath with Apache Commons?)。

我尝试使用我目前拥有的库的原因是我们公司要批准新软件库的过程很长。我可以等待几个月让库获得批准,或者我可以编写自己的专用解析器,但我希望有其他方法可以从 JSON 对象中提取一些信息,我从ActiveMQ 中的 Jolokia JMX REST API。

Java 本身没有开箱即用的 JSOn 库。但是有一个 RFE 可能会在将来的 Java 版本中添加,也许 Java 9.

所以如果你想解析json,你需要使用第3方库。所以你最好让你的公司批准图书馆。

camel-core 2.15.x 有一个 json 方案解析器,我们用它来解析现在发布的组件文档 json 方案。但它不是通用 json 解析器,但可以解析简单的模式。

它在 org.apache.camel.util.JsonSchemaHelper