У меня есть следующий ввод, и я хочу ниже вывода, используя jq.
Я хотел бы добавить
- запись
"zeiterfassungAktiviert" : true
сразу после клавиши gueltigBis
( или, альтернативно, перед клавишей inhaltsverzeichnis
) - добавить запись в конец объекта
inhaltsverzeichnis
, добавив запись "zeiterfassung": "zeiterfassung"
Пример ввода:
{
"fachbereich": "qp",
"produktTyp": "PRODUKT_ANFRAGE_V1",
"name": "Produkt Anfrage",
"kurzName": "anfrage",
"gueltigAb": "2019-01-01T00:00:00.000",
"gueltigBis": "2022-12-31T00:00:00.000",
"inhaltsverzeichnis": {
"versandumfang": "auftragsverwaltung/versandumfang",
"dokumentenerzeugung": "dokumentenerzeugung"
}
}
Пример вывода:
{
"fachbereich": "qp",
"produktTyp": "PRODUKT_ANFRAGE_V1",
"name": "Produkt Anfrage",
"kurzName": "anfrage",
"gueltigAb": "2019-01-01T00:00:00.000",
"gueltigBis": "2022-12-31T00:00:00.000",
"zeiterfassungAktiviert": true,
"inhaltsverzeichnis": {
"versandumfang": "auftragsverwaltung/versandumfang",
"dokumentenerzeugung": "dokumentenerzeugung",
"zeiterfassung": "zeiterfassung"
},
}
Мне удалось выполнить вторую часть, но не ясно, как go узнать о первой части.
Команда: jq '.zeiterfassungAktiviert += "zeiterfassung" | .inhaltsverzeichnis.zeiterfassung += "zeiterfassung"'
Результат выглядит следующим образом:
{
"fachbereich": "qp",
"produktTyp": "PRODUKT_ANFRAGE_V1",
"name": "Produkt Anfrage",
"kurzName": "anfrage",
"gueltigAb": "2019-01-01T00:00:00.000",
"gueltigBis": "2022-12-31T00:00:00.000",
"inhaltsverzeichnis": {
"versandumfang": "auftragsverwaltung/versandumfang",
"dokumentenerzeugung": "dokumentenerzeugung",
"zeiterfassung": "zeiterfassung"
},
"zeiterfassungAktiviert": true
}
Как видите, он добавляется в конец объекта root. Я хотел бы как-то указать позицию, в идеале, без необходимости конвертировать в массив и конвертировать обратно, если это возможно, а сказать: добавьте запись после / перед указанным ключом.