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