Ich versuche, jq zu kombinieren zwei Arrays und läuft in ein bisschen Ärger.Parse Netdata JSON-Ausgabe (Mulltiple-Arrays) mit jq
Ich versuche, die Daten von netdata (netdata.firehol.org) zu analysieren und die beiden Daten in der JSON-Antwort, die mich interessieren, sind beide Teil eines Arrays. Das erste Array ist Etiketten für die Datenpunkte in der zweiten Reihe.
Beispieleingabe
[
"time",
"guest_nice",
"guest",
"steal",
"softirq",
"irq",
"user",
"system",
"nice",
"iowait"
]
[
1460728600,
0,
0,
0,
0.45731,
0,
0.25108,
11.74702,
48.22465,
0
]
Eingang
Wenn Sie sich frische Daten greifen wollen t est gegen, können Sie die folgenden Schritte aus:
curl -s -X GET --header 'Accept: application/json'
'http://netdata.firehol.org/api/v1/data?chart=system.cpu&after=-10&before=0&points=1&group=average&format=json&options=seconds%2Cjsonwrap' | jq '.result.labels, .result.data[]'
Ich habe versucht Karte() zu verwenden, sowie versuchen, Vars zu beiden Arrays zuweisen und dann aus den Objekten drucken zusammen, aber erfolglos geblieben sind (siehe unten) .
-Code
| jq '.result.labels as $labels | .result.data[] as $data | .result.data[] | Label: $labels[.], data: $data[.]}'
ich jemand Einsicht im Voraus zu schätzen weiß, wie ich etwas bin stecken, und würde es vorziehen, um dies eher in jq alles tun, als for-Schleifen in der Bash (falls möglich).
Erwartet Ouput
{ "Zeit": "1460728600", "guest_nice": "0", ... }