ich so strukturierte Daten haben:erhalten Wert von unbekannten String Schlüsseleigenschaft, mit jq
{
"data": {
"2017-06-20": {
"shifts": [
{
"id": 24,
"shift_request_id": 24,
"created_at": "2017-06-27 15:10:50",
"updated_at": "2017-06-27 15:10:50"
},
{
"id": 38,
"shift_request_id": 38,
"created_at": "2017-06-27 15:10:50",
"updated_at": "2017-06-27 15:10:50"
},
{
"id": 85,
"shift_request_id": 85,
"created_at": "2017-06-27 15:10:51",
"updated_at": "2017-06-27 15:10:51"
}
]
},
...
...
...
...
"2017-06-21": {
"shifts": [
{
"id": 26,
"shift_request_id": 26,
"created_at": "2017-06-27 15:10:50",
"updated_at": "2017-06-27 15:10:50"
},
{
"id": 28,
"shift_request_id": 28,
"created_at": "2017-06-27 15:10:50",
"updated_at": "2017-06-27 15:10:50"
},
{
"id": 88,
"shift_request_id": 88,
"created_at": "2017-06-27 15:10:51",
"updated_at": "2017-06-27 15:10:51"
}
]
}
}
}
mit diesen Datums wie formatiert Tasten Also, lassen Sie uns sagen, dass ich shifts
aus sagen extrahieren möchten, zuerst ein solches Schlüssel. Ich bin nicht daran interessiert, nach einem bestimmten Datum zu extrahieren, da dies einfach wäre, wenn man dieses Datum als einen Schlüssel angibt, sondern aus dem ganzen Satz, einem von ihnen oder einem Bereich, nach numerischem Index, sobald diese Schlüssel erhalten werden.
Ich habe versucht:
jq '.[] | keys'
, die mir ein Array aller Schlüssel gibt, aber dann weiß ich nicht, wie ich Reihe von Verschiebungen für einen bestimmten Schlüssel durch Nummer indiziert extrahieren würde.
jq '.[] | keys[3]'
gibt mir die vierte Schlüssel in einer Reihe, aber dann .shifts
auf, die nicht funktionieren, sagen, dass es Cannot index string with string "shifts"