(Nebenbei: Doof ist dass man hier im Forum nicht explizit nach dem Wort "jq" suchen kann, weil die Suchfunktion min. 3 Zeichen verlangt . Die Suche nach "JSON" liefert halt nicht die passenden Ergebnisse).
Das sieht dann so aus:
Code: Alles auswählen
var DarkSkyURL = "'" # dom.GetObject('Wetter DarkSky URL').ValueList() # "'";
string stdout;
string stderr;
! Wetterdaten (komplett) holen -> DarkSky_JSONdata
system.Exec("curl -sSf "#DarkSkyURL#" ", &stdout, &stderr);
string DarkSky_JSONdata = stdout.ToLatin(); ! .ToLatin() sorgt für die korrekte Darstellung von Umlauten
Ich kriege bei der anschließenden jq-Auswertung aber einfach keine Schreibweise hin, in der der 2. stdout (also der vom system.Exec("printf...) das gewünschte Ergebnis liefert bzw. der dazugehörige stderr nicht irgendeinen Fehler ausspuckt ... auch wenn ich den Rundungsparameter "%.0f" weglasse (weil die " vielleicht für zusätzliche Probleme sorgen:
Code: Alles auswählen
! Aktuelle Temperatur übergeben
system.Exec("printf \"%.0f\" $("#DarkSky_JSONdata#" \| jq .currently.temperature)", &stdout, &stderr);
Wenn ich curl verwende (statt die JSON-Daten in einen string zu übergeben), so wie nachstehend, klappt alles ... nur will ich eben nicht X-mal die Daten von DarkSky ziehen:
Code: Alles auswählen
string s_cmd = 'printf "%.0f" $(curl -sSf ' # DarkSkyURL # '| jq .currently.temperature)';
system.Exec(s_cmd, &stdout, &stderr);