从vanilla Java / Camel / Spring中的JSON中提取数据

时间:2015-06-05 06:15:31

标签: apache-camel activemq jolokia

我正在尝试编写一个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的另一种解决方案可行(也许是使用Apache Commons的JXPath?)。

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

1 个答案:

答案 0 :(得分:2)

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

因此,如果要解析json,则需要使用第三方库。所以你最好让你的公司批准一个图书馆。

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

它位于org.apache.camel.util.JsonSchemaHelper