#json #jq
#json #jq
Вопрос:
Сортировка массива объектов в массиве по самой последней временной метке, а затем сортировка внешнего массива по метке времени первого объекта каждого массива, используя jq
.
Это пример данных JSON на этапе jq
конвейера, где я застрял.
[
[
{
"created_at": "2020-09-26T14:48:46.000Z",
"conversation_id": "1309867515456237571",
"id": "1309867515456237571",
"text": "example1"
}
],
[
{
"created_at": "2020-09-26T14:48:47.000Z",
"conversation_id": "1309867518455156736",
"id": "1309867518455156736",
"text": "example2"
},
{
"created_at": "2020-09-26T14:48:47.000Z",
"conversation_id": "1309867518455156736",
"id": "1309867517846810625",
"text": "example3"
},
{
"created_at": "2020-09-26T14:48:46.000Z",
"conversation_id": "1309867518455156736",
"id": "1309867516659937284",
"text": "example4"
}
],
[
{
"created_at": "2020-09-26T14:48:48.000Z",
"conversation_id": "1309867524473999364",
"id": "1309867524473999364",
"text": "example5"
},
{
"created_at": "2020-09-26T14:48:47.000Z",
"conversation_id": "1309867524473999364",
"id": "1309867520468291586",
"text": "example6"
},
{
"created_at": "2020-09-26T14:48:47.000Z",
"conversation_id": "1309867524473999364",
"id": "1309867520153845760",
"text": "example7"
}
],
[
{
"created_at": "2020-09-26T14:48:48.000Z",
"conversation_id": "1309867524750749705",
"id": "1309867524750749705",
"text": "example8"
}
]
]
Все, что я пробовал, заканчивается ошибкой, подобной этой,
jq: error (at <stdin>:8): Cannot index string with string "created_at"
Ответ №1:
Может быть, это?
jq '.[] |= sort_by(.created_at) | sort_by(.[].created_at)'