Aktualisieren Sie die JSON-Datei mit PowerShell

8

Ich versuche derzeit, ein kontinuierliches Integrationssystem mit VSTS einzurichten, und bin in ein wenig Problem geraten. Als Teil des Release-Prozesses muss ich abhängig von der Umgebung einen bestimmten Objektwert in einer JSON-Datei aktualisieren. Die einzigen Werkzeuge, die mir zur Verfügung stehen, die dies in der VSTS-Umgebung erledigen könnten, sind PowerShell.

Ich habe ziemlich viel geforscht und konnte nicht herausfinden, wie genau das gemacht werden kann. Ich habe diese Frage und Antwort hier auf Stack Overflow gefunden. " Wie aktualisiere ich Json? Datei mit Powershell "aber das Ausführen des Skripts in der Antwort ändert die Struktur der JSON-Datei erheblich und fügt einiges hinzu, was wie PowerShell-Metadaten aussieht.

Idealerweise möchte ich eine vorhandene JSON-Datei verwenden, die bereitgestellt wird, und den Wert der connectionString-Eigenschaft im folgenden JSON-Beispiel aktualisieren.

%Vor%

Hat jemand einen Ratschlag, wie das zu erreichen ist? Bis jetzt habe ich versucht, das folgende Skript auszuführen, aber es wirft ein "Die Eigenschaft 'connectionString' kann nicht für dieses Objekt gefunden werden. Stellen Sie sicher, dass die Eigenschaft existiert und festgelegt werden kann." Ausnahme. Ich habe überprüft, dass das Objekt traversal korrekt ist und die Eigenschaft connectionString vorhanden ist.

%Vor%

Der vollständige Inhalt von file.json lautet wie folgt

%Vor%     
pstricker 31.05.2016, 16:45
quelle

2 Antworten

10

Ihrem json fehlen die geschweiften Klammern für Anfang und Ende:

%Vor%

Jetzt können Sie die Datei wie folgt aktualisieren:

%Vor%

Sie können auch Select-Object verwenden, um die Eigenschaft zu erhalten:

%Vor%     
Martin Brandl 31.05.2016, 16:51
quelle
0
%Vor%     
asif 16.03.2017 10:35
quelle

Tags und Links