Ich habe versucht zu versuchen, dies für eine Reihe von Tagen zu arbeiten, aber ich bin fest.Probleme beim Suchen und Ersetzen in meinem JSON mit jq
Ich habe eine JSON-Datenstruktur mit Werten, die ich aktualisieren möchte, im Wesentlichen mit meinem JSON als Datenbank zum Speichern von Konfigurationswerten. Hier ist meine JSON:
{
"Actions": [
{
"Number": 1012,
"RollbackPoint": "xxx_1012_RollbackPoint_xxx",
"Parameters": [
{
"Name": "accountType",
"Value": "xxx_1012_accountType_xxx"
},
{
"Name": "userPassword",
"Value": "xxx_1012_userPassword_xxx"
}
]
},
{
"Number": 1015,
"RollbackPoint": "xxx_1015_RollbackPoint_xxx",
"Parameters": [
{
"Name": "accountType",
"Value": "xxx_1015_accountType_xxx"
},
{
"Name": "skipExport",
"Value": "xxx_1015_skipExport_xxx"
}
]
}
]
}
ich zwei Updates
- aktualisieren RollbackPoint auf "1012", wo Number = 1015
- Update-Wert auf "AWS" ausführen möchten, wo name = "account" unter Parameter, wo Number = 1012
Bisher ist die nächste, die ich gelernt habe ist, mit diesem:
cat json.txt | jq '.[] | map(. + {RollbackPoint:(if (."Number") == 1015 then "1015" else .RollbackPoint end)})'
Aber diese Streifen für mich, die Aktionen [] Element so sein nicht gut aus, ich weiß nicht, wo sogar auf 2 Update beginnen ...
Jede mögliche Hilfe, über 5 Stunden auf sehr geschätzt google und ich bin immer noch nicht in der nähe.
Vielen Dank Matt
Perfect! Vielen Dank Jeff, das wirkt wie ein Zauber. Ich kann sehen, dass ich das jetzt überall benutze. Mit freundlichen Grüßen Matt – msmithwr
@msmithwr Froh, dass Sie Ihre Lösung gefunden haben. Bitte markieren Sie Jeffs Antwort als akzeptiert, um anderen Nutzern zu helfen. – Synesso