Skip to content
Advertisement

JSONPath resolver for Java objects

How can I get a value from an Java object instead from a JSON string by applying a JSONPath expression?


I receive a Java object that is created from a JSON string (via Jackson, no way to influence it):

JavaScript

I further have some JSONPath expressions as Java Strings reflecting values in the object (they might be much more complex):

JavaScript

I want to resolve those expressions using the resulting java object (instance of MyJSONInputClass, after unmarshalling):

JavaScript

Advertisement

Answer

I use ObjectMapper from Jackson to create a Map<String, Object> from the given Java object (containing other maps for properties not parseable as primitive types). Then JSONPath can read it and evaluate the expression.

JavaScript

Dependencies to include:

JavaScript

Some notes:

  • Works for hierarchical objects.
  • Not tested for circular structures.
Advertisement