Available as of Camel 2.13
Using XML configuration
See the JSonPath project page for further examples.
Available as of Camel 2.16
jsonpath will throw an exception if the JSON payload does not have a valid path accordingly to the configured
jsonpath expression. In some use-cases you may want to ignore this in case the JSON payload contains optional data. To ignore exceptions set the option
suppressExceptions=true as shown below:
And in XML DSL:
This option is also available on the
Inline Simple expressions
Available as of Camel 2.18
It's now possible to in-lined Simple language expressions in the JSonPath expression using the simple syntax
In this example the Simple expression in-lined is the headers with the cheap and average values to be used.
You can turn off support for in-lined simple expression by setting the option
allowSimple=false as shown:
You can use Bean Integration to invoke a method on a bean and use various languages such as JSonPath to extract a value from the message and bind it to a method parameter.
Since Camel version 2.16, the encoding of the JSON document is detected automatically, if the document is encoded in Unicode (
UTF-32BE) as specified in
RFC-4627. If the encoding is a non-Unicode encoding, you can either make sure that you enter the document in
String format to the JSonPath component or you can specify the encoding in the header
To use JSonPath in your camel routes you need to add the a dependency on
camel-jsonpath which implements the JSonPath language.
If you use maven you could just add the following to your
pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).