If you're set on JsonPath, you can do so in a POJO or processor as it's just a library:
http://code.google.com/p/json-path/ On Mon, Dec 9, 2013 at 1:57 PM, Henryk Konsek <hekon...@gmail.com> wrote: > Hi guys, > >> Perhaps you can deserialize the object(s) first before doing CBR >> (using a simple expression)? > > This is very good suggestion, James. To make it a little more concrete: > > from(...). > unmarshal().json(JsonLibrary.Gson, Map.class). > choice(). > when().simple("${body[invoices][latest][netValue] > 1000}").to(...). > otherwise().to(...). > endChoice(); > > You can use JSON data format [1] (I use Google GSON in the example) to > deserialize incoming message. In the example below I deserialize it to > Map, because I don't know the type of the message (to make things > little more tricky). And yeah, GSON handles nested Maps pretty well. > To analyse content of the nested maps structure you might use Simple > [2] expression (as James suggested) because it supports nested map > keys notation (as in the example). And nested maps keys is something > similar to JsonPath you wanted to have :) . > > Cheers. > > [1] http://camel.apache.org/json > [2] http://camel.apache.org/simple > > -- > Henryk Konsek > http://henryk-konsek.blogspot.com -- Christian Posta http://www.christianposta.com/blog twitter: @christianposta