lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte

Ich habe ein Array aus Objekten und jedes Objekt hat ein Property "url".

$jsonString = @"
{
  "references": [
    {
      "url": "http://nginx.net/CHANGES",
      "source": "cret@cert.org",
      "tags": [
        "Release Notes",
        "Vendor Advisory"
      ]
    },
    {
      "url": "http://nginx.net/CHANGES-0.5",
      "source": "cret@cert.org",
      "tags": [
        "Release Notes",
        "Vendor Advisory"
      ]
    },
    {
      "url": "http://nginx.net/CHANGES-0.6",
      "source": "cret@cert.org",
      "tags": [
        "Release Notes",
        "Vendor Advisory"
      ]
    }
  ]
}
"@

Wie kann ich in Powershell jeweils das Property "url" jedes Objekts zu einem String zusammenfügen?

$jsonObject = $jsonString | ConvertFrom-Json
$urls = $jsonObject.references | Select-Object -ExpandProperty url -join "; "
$urls

Als Fehler kommt das:

Select-Object : Es wurde kein Parameter gefunden, der dem Parameternamen "join" entspricht.

In Zeile:36 Zeichen:68
+ ... $jsonObject.references | Select-Object -ExpandProperty url -join "; "
+                                                                ~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Select-Object], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Der -join Operator kann nicht direkt nach Select-Object verwendet werden. Stattdessen kannst du einfach die URLs extrahieren und mit dem -join Operator in einer separaten Anweisung zusammenfügen.

$jsonObject = $jsonString | ConvertFrom-Json
$urls = $jsonObject.references | Select-Object -ExpandProperty url
$urlsString = $urls -join "; "
$urlsString
von (714 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer