Ich möchte einige Schlüsselwerte, die in einem Array gefunden werden, und sie mit ihren entsprechenden Werten in einem anderen Array übereinstimmen. Als Referenz benutze ich jq-1.5jq 1.5: Kombinieren von Schlüsseln aus einem Array mit ihren Werten, die in einem anderen Array sind
Ich habe ein paar Daten von der quandl api, wo ich einige Aktien Daten ziehen. Im Folgenden werden beispielsweise einige json-Daten abgerufen.
Die Daten sind wie folgt, obwohl ich einige der redundanten Daten entfernt haben;
{
"datatable": {
"data": [
["2012-05-18", 38.2318, 45.0, 38.0],
["2012-05-21", 34.03, 36.66, 33.0],
["2012-05-22", 31.0, 33.59, 30.94],
["2017-06-22", 153.4, 154.55, 152.91],
["2017-06-23", 155.07, 155.2, 152.65]
],
"columns": [{
"name": "date",
"type": "Date"
}, {
"name": "close",
"type": "BigDecimal(34,12)"
}, {
"name": "high",
"type": "BigDecimal(34,12)"
}, {
"name": "low",
"type": "BigDecimal(34,12)"
}]
},
"meta": {
"next_cursor_id": null
}
}
Ich suche die „Schlüssel“ von den .datatable.columns [$ index1] .name mit den „Werten“ in .datatable.data [1] und so weiter mit jeder Iteration Indexwert entsprechen . Ich suche nach einer Ausgabe wie folgt;
[
{
"date": "2012-05-18",
"close": 38.2318,
"high": 45.0,
"low": 38.0
},
{
"date": "2012-05-21",
"close": 34.03,
"high": 36.66,
"low": 33.0
},
{
"date": "2012-05-22",
"close": 31.0,
"high": 33.59,
"low": 30.94
},
{
"date": "2017-06-22",
"close": 153.4,
"high": 154.55,
"low": 152.91
},
{
"date": "2017-06-23",
"close": 155.07,
"high": 155.2,
"low": 152.65
}
]
Bisher habe ich mit dem Gedanken, Zählen den Index rumgespielt, aber die meisten meiner Lösungen bisher habe ziemlich ausführliche gewesen, und ich selbst bin der Suche aus jq Schritt sed/awk usw. für etwas, das ich mir vorstelle, ist einfach in jq.