J'ai une très grande réponse JSON pour les employés que j'essaie d'obtenir au format de table, exporter au format CSV et éventuellement insérer dans SQL Server. J'ai été en mesure de déterminer comment obtenir toutes mes variables à partir du fichier json, mais maintenant je reçois toutes mes valeurs insérées sur une ligne pour chaque colonne au lieu d'une nouvelle ligne pour chaque employé. En outre, lorsque j'exporte au format CSV, la valeur devient System.Object [].Powershell pscustomobject format-table nouvelle ligne au lieu d'une ligne
$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
Les colonnes sont un petit échantillon, il y a en fait probablement 100 colonnes. Cependant, ma réponse revient à ceci:
associateOID workerID givenName
------------ -------- ---------
{1,2,3,4,5...} {a,b,c,d,e...} {Lebron James, Micheal Jordan, Steph Curry...}
je voudrais qu'il revienne:
associateOID workerID givenName
------------ -------- ---------
1 A Lebron James
2 B Micheal Jordan
3 C Steph Curry
En outre, lors de l'exportation au format CSV la réponse a les colonnes correctes, mais toutes les colonnes reviennent avec: Système. Objet[]. De plus, mes champs qui ont des int et des dates ne retournent pas de données. Comment puis-je résoudre cela aussi?
J'ai essayé d'utiliser tri-objet, groupe-objet, pour chaque boucle. Rien n'a fonctionné.
J'ai essayé votre code exact et j'ai toujours chaque employé dans la même cellule pour le fichier CSV. D'un autre thread, j'ai lu que je pouvais faire une boucle for, et utiliser [i] à la fin de chaque nom de colonne. Cela a fonctionné pour les colonnes qui étaient toujours remplies, mais les colonnes qui n'étaient pas telles que MiddleName, se sont retrouvées dans le mauvais ordre avec cette méthode. – Jumpman