Apache Camel - 用于获取多个值的JSONPath表达式

时间:2016-12-29 12:33:37

标签: apache-camel jsonpath

在camel路由中需要通过rest客户端从传入的json数据中读取值。使用JsonPath解析并从中获取值。

用于获取json数据的表达式适用于一个值而不适用于另一个值。

从其他客户端传入的JSON数据:

[{"var1": 10,"var2": 20}]

在camel路由中使用的JSONPath表达式:

                <setHeader headerName="data1">
                    <jsonpath suppressExceptions="true">$[0].var1</jsonpath>
                </setHeader>
               <log message="value1 : ${header.data1}" />

                <setHeader headerName="data2">
                    <jsonpath suppressExceptions="true">$[0].var2</jsonpath>
                </setHeader>
               <log message="valu2 : ${header.data2}" />

可以在第一个记录器中看到记录的值,但是第二个记录器是'null'并且camel会抛出'NullPointerException'。

问题:

如果这是获取值的正确的json路径表达式,那么有人可以指导我。如果没有,请指导我找到解决方案。

使用可用于json路径的各种在线工具检查了表达式的工作和返回值。

0 个答案:

没有答案