У меня очень большой текст JSON, который мне нужно проанализировать с помощью
jq --stream
Однако, нет никаких сложных случаев использования или блогов, чтобы понять это.
Структура JSON выглядит следующим образом:
{
"userActivities": {
"-----P9E3PJB5bTO1xrO": {
"aaid": "84dae6bd-cb3a-409c-9940-844f035b5fc7",
"callsign": "2day",
"deviceId": "1b771f137d1bc6ea",
"dow": "Thursday",
"downloadFlag": "N",
"email": "ckcafeandcatering@gmail.com",
"emailSha256": "6ab0992297a9478be9ae7ff26d811b1116c45a0c819ff1c9628c9b7ca4ec4129",
"event": "streamStop",
"firebaseUID": "anvlMojJFvQEvMXQW6GeRzLKCIA2",
"halfHourFull": "10h1",
"liveFlag": "Y",
"localDate": "1970-01-01",
"localHalfHour": 1,
"login": "google",
"minutesSinceMidnight": 601,
"quarterHourFull": "10q1",
"stationName": "2DayFM104.1"
},
"-GuGCJDEprMKczAMDUj8": {
"deviceId": "399a649c6cee6209",
"dow": "Thursday",
"downloadFlag": "N",
"event": "streamStart",
"halfHourFull": "18h1",
"liveFlag": "Y",
"localDate": "2009-01-01",
"localHalfHour": 1,
"minutesSinceMidnight": 1080,
"quarterHourFull": "18q1",
"stationName": "hit 105",
"streamListenMethod": "Headphones",
"timestampLocal": "2009-01-01T18:00:33.679+10:00",
"timestampUTC": "2009-01-01T08:00:33.679Z"
}
}
}
Я хочу установить фильтр для localDate, то есть выбирать только те массивы, где localDate = '2009-01-01'.
В настоящее время я передаю свой JSON нижеприведенной команде, и она выдает все массивы.
jq -cn --stream 'fromstream(1|truncate_stream(inputs | select(.[0][] == "userActivities") | del(.[0][0])))'
Как мне поставить фильтр? Пожалуйста, предложите. Любая помощь с благодарностью.