Jump to content

.Json Array zugreifen ändern


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Moin zusammen,

 

ich hab ein .json Datei erstellt die mit PowerShell geändert werden soll. Das funktioniert in der ersten Ebene super. Also z.b.  Keyname "Medium" und das dazugehörige Value kann ich mit meinen Funktionen add, remove, modify (siehe weiter unten) die .json ändern.

Die Array-Inhalte  in " Weiterebuecher" krieg ich nicht hin die zu verändern, hinzufügen löschen, etc.

Für Gedankenanstöße oder Lösungsbeispiele wäre ich euch dankbar. :grins1:

 

 

Vielen Dank.

 


.Json:

{

    "Medium":  "DVD",
    "Autor":    "Blabla"
    "Titel":  "Blade Runner",
    "ISBN":  "7863",
    "Seiten":  "190",
    "WeitereBuecher":  [
                           {
                               "Titel": "Ghostbuster"
                               "ISBN":  "13456"
                           },
                           {
                               "Titel": "Spawn"
                               "ISBN":  "78945"
                           },
                           {
                               "Titel":  "ES"
                           }   "ISBN" :  "45786"
                       ],
    "Erscheinungsdatum":  "15.10.1976"

PS:

function add {
    $NewKeyName = "Erscheinungsdatum1"
    $NewKeyValue = "15.10.1976"
    $jsonfile = "C:\test\config.json"
    $json = Get-Content $jsonfile | Out-String | ConvertFrom-json
    write-host $json
    $json | Add-Member -Type NoteProperty -Name $NewKeyName -Value $NewKeyValue
    $json | ConvertTo-Json | Set-Content $jsonfile
}

function remove {
    $RemoveKeyName = "Erscheinungsdatum"
    $jsonfile = "C:\test\config.json"
    $json = Get-Content $jsonfile | Out-String | ConvertFrom-json
    $json.PSObject.Properties.Remove($RemoveKeyName)
    $json | ConvertTo-Json | Set-Content $jsonfile
}

function modify {
    $ModifyValueName ="Blade Runner"
    $ModifyKeyName = "Titel"
    $jsonfile = "C:\test\config.json"
    $json = Get-Content $jsonfile | Out-String | ConvertFrom-json
    $json.$ModifyKeyName = $ModifyValueName
    $json | ConvertTo-Json | Set-Content $jsonfile
}

 

bearbeitet von CoreX
Link zu diesem Kommentar

sooo...habs selbst lösen können:

 

            $json.$ArrayName += @{$NewKeyName=$NewKeyValue} 

function add {
    $NewKeyName = "Erscheinungsdatum1"
    $NewKeyValue = "15.10.1976"
    $jsonfile = "C:\test\config.json"
    $json = Get-Content $jsonfile | Out-String | ConvertFrom-json
    $json.WeitereBuecher += @{$NewKeyName=$NewKeyValue} 
    $json | ConvertTo-Json | Set-Content $jsonfile
bearbeitet von CoreX
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...