james strachan created CAMEL-10646:
--------------------------------------

             Summary: support JSONPath on beans as well as Strings & 
InputStreams
                 Key: CAMEL-10646
                 URL: https://issues.apache.org/jira/browse/CAMEL-10646
             Project: Camel
          Issue Type: Improvement
            Reporter: james strachan


it'd be nice if we could use json path expressions on beans too; so that if 
some JSON gets unmarshalled via jackson we could still use jsonPath on the 
object.

Here's a possible implementation approach (though maybe there's a more optimal 
approach?)
http://stackoverflow.com/a/27754489/2068211

Maybe this code 
https://github.com/apache/camel/blob/master/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathEngine.java#L114
 should check if the body can't be converted to a File, String or InputStream 
it tries to convert the payload to something like JSonPathNavigator (a new 
interface we create). If it can be converted we use that interface to transform 
the payload.

Then we could have decoupled ways to convert objects into navigable formats 
(e.g. Maps / Lists)?

e.g. 
{code:java}
public JacksonJsonPathNavigator implements JSonPathNavigator {
  public Object convert(Object input) {
    ObjectMapper mapper = new ObjectMapper();
    return mapper.convertValue(input, Map.class);
  }
}
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to