Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
CoreX

.Json Array zugreifen ändern

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×