Ich habe eine sehr große JSON-Antwort für Mitarbeiter, die ich versuche, in Tabellenformat zu gelangen, in CSV zu exportieren und schließlich in SQL Server einzufügen. Ich konnte feststellen, wie alle meine Variablen aus der JSON-Datei abgerufen werden, aber jetzt bekomme ich alle meine Werte in einer Zeile für jede Spalte statt einer neuen Zeile für jeden Mitarbeiter eingefügt. Beim Exportieren in CSV wird der Wert in System.Object [] umgewandelt.Powershell psustomobject format-table neue Zeile statt einer Zeile
$json1 = Invoke-webRequest -Uri $Workeruri -Certificate $cert -Headers $WorkerHeader | convertfrom-json
$table = [PSCustomObject] @{
associateOID = $json1.workers.associateOID
workerID = $json1.workers.workerID.idValue
GivenName = $json1.workers.person.legalName.givenName
MiddleName = $json1.workers.person.legalName.middleName
FamilyName1 = $json.workers.person.legalName.familyName1
} |format-table -autosize
$table | export-csv $filepath -NoTypeInformation
Die Spalten sind eine kleine Probe, es gibt tatsächlich wahrscheinlich 100 Spalten. Allerdings gibt meine Antwort wie folgt aus:
associateOID workerID givenName
------------ -------- ---------
{1,2,3,4,5...} {a,b,c,d,e...} {Lebron James, Micheal Jordan, Steph Curry...}
Ich möchte es zurück:
associateOID workerID givenName
------------ -------- ---------
1 A Lebron James
2 B Micheal Jordan
3 C Steph Curry
Auch wenn in CSV-Export der Antwort hat die richtigen Spalten, aber alle Spalten zurückgeben mit: System. Objekt[]. Auch meine Felder, die Ints und Daten haben, geben keine Daten zurück. Wie kann ich das auch reparieren?
Ich habe versucht, sort-Objekt, Gruppe-Objekt, for-each-Schleifen. Nichts hat funktioniert.
Ich habe versucht, Ihren genauen Code und noch jeden Mitarbeiter in der gleichen Zelle für die CSV. Von einem anderen Thread las ich, dass ich eine for-Schleife machen könnte, und benutze [i] am Ende jedes Spaltennamens. Das funktionierte für Spalten, die immer ausgefüllt wurden, aber Spalten, die nicht wie MiddleName waren, endete mit dieser Methode in der falschen Reihenfolge. – Jumpman