Aufbauend auf dem Beitrag vom letzten Stammtisch zur Abfrage der Arbeitstage über die Working Days API gab es die Aufgabe, das von der API gelieferte JSON in ein CSV Format zu konvertieren, um dieses einfacher verarbeiten zu können. Darüberhinaus stellte sich die Frage, ob es möglich sei, eine generische Lösung für die Konvertierung von JSON zu CSV zu finden.

Gleich mehrere Lösungen wurden diesmal dazu vorgestellt.

CSV per String-Verkettung

Udo Bösch zeigte eine Erweiterung der Working Days Demo, wo die Ergebnis-Tabelle mit den Feiertagen direkt aus dem JSON abgefragt und mit dedizierten JSON-Abfragen per String-Verkettung in einen CSV Text umgewandelt wird.

CSV per JEMS-Path, Python oder RegEx

Marcel Moré zeigte zunächst einige Versuche, das JSON per JEMS-Path Queries mit Hilfe der neuen MBS JSON Funktionen zu zerlegen. Zwar konnten spezifische Einträge aus dem JSON per Wildcard abgefragt werden, für die Zerlegung enthaltener Arrays in Listenform war jedoch ein rekursiver Ansatz erforderlich. Per ChatGPT wurde kurzerhand ein Python-Script dafür entworfen, welches sich ebenfalls mit Hilfe des MBS Plugins ausführen lässt und in der Lage ist, Eingabewerte aus einer FileMaker Datei zu verarbeiten. Das Python-Script durchsucht rekursiv die JSON Eingabe und erzeugt daraus ein CSV. Das Ergebnis lässt sich anschließend direkt wieder in die FileMaker Datei übernehmen. Ein weiterer Ansatz verwendet eine Regular Expression (RegEx), um die gewünschten Werte per Text-Ersetzung direkt aus dem JSON auszulesen und als CSV darzustellen. Hierbei ist es allerdings erforderlich, die gewünschten Elemente aus dem JSON konkret zu adressieren. Es werden also mehrere RegEx benötigt, um alle Informationen einzusammeln.

CSV per XSLT-Transformation

Armin Egginger zeigte spontan einen der Aufgabe aus der Challenge ähnlichen Ansatz, um per XML-Export aus einer FileMaker Datei mit flexiblen XSLT-Templates eine CSV-Ausgabe zu erzeugen. Die gezeigte Lösung verwendet ausschließlich FileMaker-native Techniken und kommt ohne jegliche Plugins oder Erweiterungen aus. Es werden dynamisch die XLST-Dateien für die Transformation des Datenexport anhand von Benutzereinstellungen in der GUI erzeugt und diese dann auf einen XML-Export der gewünschten Tabellen angewendet. Als weitere Möglichkeit zeigte Armin zwei generische XSLT-Templates, mit denen sich Daten im Format JSON zu XML, bzw. auf dem umgekehrten Weg von XML zu JSON konvertieren lassen. Diese Möglichkeit wurde bereits in angepasster Form für ein Kundenprojekt genutzt, wo eine bestehende XML-API für eine FileMaker Lösung auf JSON umgemappt werden sollte.