JSONPath resolver für Java-Objekte

Wie kann ich einen Wert aus einem Java-Objekt stattdessen aus einem JSON-string durch die Anwendung einer JSONPath Ausdruck?


Erhalte ich ein Java-Objekt, das erstellt wird, aus einer JSON-Zeichenfolge (über Jackson, keine Möglichkeit, es zu beeinflussen):

public class MyJSONInputClass {
    private String foo;
    private int[] bar = { 1, 5, 9 };
    private OtherClass baz;
    ....
}

Ich weiter haben einige JSONPath Ausdrücke als Java-Strings reflektieren Werte in das Objekt (Sie können sehr viel komplexer sein):

"$.foo"
"$.bar[5]"
"$.baz.someProperty"

Möchte ich zur Lösung dieser Ausdrücke mit den resultierenden java-Objekt (Instanz von MyJSONInputClass, nach unmarshalling):

public Object resolve(MyJSONInputClass input, String expression) {
    ...
}
Schreibe einen Kommentar