min($.tick[*]) sollte laut JsonPath doku den kleinsten wert liefern. Was es auch tut, wenn man json und min() hier testet. http://jsonpath.herokuapp.com/
Die verwendete JsonPath-Bibliothek kann nicht alles, und ich bin auch nicht sicher, welche Version davon gerade in PP steckt. (Und sie hat keine Übersicht, was seit welcher Version geht.)
Habe gerade mal kurz geschaut: es wird die aktuelle JsonPath-Version 2.7.0 in PP verwendet, allerdings laufen Funktionen wie min(), length(), etc. aufgrund der implementierten Konfiguration in einen Fehler: com.jayway.jsonpath.JsonPathException: Options AS_PATH_LIST and ALWAYS_RETURN_LIST are not allowed when using path functions!
Danke für die schnelle Antwort. Der Hinweis ist gut.
Das ist die Stelle: GenericJSONQuoteFeed.java#L205
Es wird dafür gesortgt, dass immer ein List<Object> von JsonPath.read() zurückgegeben wird.
Wäre sowas alternativ denkbar. Ich bin nicht so fit mit sauberem Code oder Programmier-style.
Du könntest einen Pull Request erstellen und versuchen Andreas davon zu überzeugen
Dafür wäre es sicherlich hilfreich, eine Beschreibung des Use-Case mit aufzunehmen.
Ich habe Deinen Code jetzt nicht getestet, aber ich persönlich finde die Variante über die JsonPathException nicht so elegant. Ggfs. sollte man eher prüfen, ob man diese JsonPath-Optionen nicht verändern kann.
Ja, die Variante ist auch nicht elegant. Ich muss bei Gelegenheit mal die IDE aufsetzten. Dazu war ich zu Faul ich entwickle nicht aktiv in java und habe nichts parat. Es war mir dann nicht wichtig genug “min” und “max” für meinen Kurs zu haben. Was dann auch der UseCase wäre. Aus einer JSON Kursquelle die z.B. für einen Tag ein Array von preisen zurück gibt, relativ einfach mit min() und max() vom Tageskurs eben diese Werte zu füllen. Bei meinem patch habe ich auch das eigentliche vergessen, nämlich das deaktivieren von ALWAYS_RETURN_LIST in Zeile 205.
Tatsächlich war mein erster Ansatz ein typenloses Objekt zu definieren und dann abzufragen, welchen typ ich bekommen habe. Dafür reichen meine java kenntnisse spontan nicht aus.
Ich muss mal schauen, wenn ich mehr Zeit habe setze ich die IDE auf und gehe mal an das Thema dran. Wenn es genug interesse findet.
Ich muss mich ohnehin mal mehr mit Git auseinandersetzen. Stichwort pull request.