Lesen Sie JSON-Dateien in PowerShell
- 
          
            Verwenden Sie Get-Content, um JSON als String in PowerShell zu lesen
- 
          
            Verwenden Sie ConvertFrom-Json, um JSON als benutzerdefiniertes Objekt in PowerShell zu lesen
- 
          
            Verwenden Sie Invoke-WebRequest, um JSON aus dem Web in PowerShell zu lesen
 
Dieses Tutorial zeigt, wie JSON-Dateien in PowerShell gelesen werden.
Verwenden Sie Get-Content, um JSON als String in PowerShell zu lesen
    
Der Get-Content-Befehl ist ein PowerShell-Befehl, der den Inhalt eines Elements liest. Dieser Befehl akzeptiert einen Path-Parameter, der den Ort des Elements angibt; der Inhalt sind normalerweise Textdaten.
Die JSON-formatierte Zeichenfolge ist ebenfalls Textdaten; Dieser Befehl kann eine JSON-Datei lesen und als Zeichenfolge an die Shell ausgeben.
Der folgende Befehl liest eine JSON-Datei als Zeichenfolge.
Get-Content "transactions.json"
Ausgang:
[
    {
        "Date": "19/5/2022",
        "ProductId": "0001",
        "ProductName": "Fizzy Drink",
        "Cost": "2.32",
        "Currency": "USD"
    },
    {
        "Date": "16/5/2022",
        "ProductId": "0002",
        "ProductName": "Dark Chocolate",
        "Cost": "6.52",
        "Currency": "USD"
    },
    {
        "Date": "10/5/2022",
        "ProductId": "0003",
        "ProductName": "Snacks",
        "Cost": "4.2",
        "Currency": "USD"
    }
]
Verwenden Sie ConvertFrom-Json, um JSON als benutzerdefiniertes Objekt in PowerShell zu lesen
ConvertFrom-Json ist ein PowerShell-Befehl, der eine Zeichenfolge im JSON-Format in ein benutzerdefiniertes PowerShell-Objekt oder PSCustomObject konvertiert. Dieses Objekt enthält alle Eigenschaften, die den JSON-Feldern entsprechen.
Der folgende Befehl kombiniert den Get-Content mit dem ConvertFrom-Json, um ein JSON als PSCustomObject zu lesen.
Get-Content "transactions.json" | ConvertFrom-Json
Ausgang:
Date        : 19/5/2022
ProductId   : 0001
ProductName : Fizzy Drink
Cost        : 2.32
Currency    : USD
Date        : 16/5/2022
ProductId   : 0002
ProductName : Dark Chocolate
Cost        : 6.52
Currency    : USD
Date        : 10/5/2022
ProductId   : 0003
ProductName : Snacks
Cost        : 4.2
Currency    : USD
Verwenden Sie Invoke-WebRequest, um JSON aus dem Web in PowerShell zu lesen
JSON ist ein Datenaustauschformat, das häufig im Web für die Client- und Serverkommunikation verwendet wird. Ein Client sendet eine HTTP/HTTPS-Anforderung an einen Server, und als Ergebnis gibt der Server die angeforderten Daten als JSON zurück.

Der Invoke-WebRequest sendet eine HTTP-Anfrage an eine angegebene URI. Der Server empfängt die Anfrage und antwortet entsprechend mit einem JSON.
Der folgende Befehl sendet eine Webanfrage an einen Server und parst den JSON mit ConvertFrom-Json.
Invoke-WebRequest -Uri https://my-json-server.typicode.com/typicode/demo/posts | ConvertFrom-Json
Ausgang:
id title
-- -----
 1 Post 1
 2 Post 2
 3 Post 3