Array zu JSON-String in Powershell
Hallo,
ich habe folgendes Problem in einem Powershellskript. Ich erzeuge in diesem Skript ein Array, das wiederum aus Arrays besteht. Am Ende wird das Array in ein JSON-String umgewandelt, da ich es für einen API-Request benötige.
Da Problem sieht nun wie folgt aus:
So erzeuge ich das Array innerhalb einer foreach-Schleife:
$orderItems_temp+=@{
'description'= $position.position.name
'unitPrice'=$position.position.pricePerUnit
'positionNumber'=$position.position.number
'quantity'=$position.position.amount
'title'=$position.position.supplierArticleNumber
}
Das Array sieht dann wie folgt aus.
Name Value
-----
unitPrice {2.96, 15.70}
title {1200, 1300}
description {Beschereibung1, Beschreibung2}
positionNumber {1, 2}
quantity {3, 1}
Der Jsonstring sieht dann so aus:
[
{
"unitPrice": "2.96 15.70",
"title": "1200 1300",
"description": "Beschreibung1 Beschreibung2",
"positionNumber": "1 2",
"quantity": "3 1"
}
]
Ich bräuchte jedoch nicht ein Element mit beiden Werten sondern in diesem Fall 2 Elemente.
Gibt es eine Möglichkeit den String so zu erzeugen?
ich habe folgendes Problem in einem Powershellskript. Ich erzeuge in diesem Skript ein Array, das wiederum aus Arrays besteht. Am Ende wird das Array in ein JSON-String umgewandelt, da ich es für einen API-Request benötige.
Da Problem sieht nun wie folgt aus:
So erzeuge ich das Array innerhalb einer foreach-Schleife:
$orderItems_temp+=@{
'description'= $position.position.name
'unitPrice'=$position.position.pricePerUnit
'positionNumber'=$position.position.number
'quantity'=$position.position.amount
'title'=$position.position.supplierArticleNumber
}
Das Array sieht dann wie folgt aus.
Name Value
-----
unitPrice {2.96, 15.70}
title {1200, 1300}
description {Beschereibung1, Beschreibung2}
positionNumber {1, 2}
quantity {3, 1}
Der Jsonstring sieht dann so aus:
[
{
"unitPrice": "2.96 15.70",
"title": "1200 1300",
"description": "Beschreibung1 Beschreibung2",
"positionNumber": "1 2",
"quantity": "3 1"
}
]
Ich bräuchte jedoch nicht ein Element mit beiden Werten sondern in diesem Fall 2 Elemente.
Gibt es eine Möglichkeit den String so zu erzeugen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5045376088
Url: https://administrator.de/contentid/5045376088
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
1 Kommentar
$orderItems = @()
foreach ($position in $positions) {
$item = @{
'description' = $position.position.name
'unitPrice' = $position.position.pricePerUnit
'positionNumber' = $position.position.number
'quantity' = $position.position.amount
'title' = $position.position.supplierArticleNumber
}
$orderItems += $item
}
$jsonString = $orderItems | ConvertTo-Json