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