Convertir au format CSV, JSON à l'aide de PowerShell
J'ai un exemple de format JSON ici qui convertit bien si j'utilise quelque chose comme: https://konklone.io/json/
J'ai essayé le code suivant dans PowerShell:
(Get-Content -Path $pathToJsonFile | ConvertFrom-Json)
| ConvertTo-Csv -NoTypeInformation
| Set-Content $pathToOutputFile
Mais le seul résultat que j'obtiens est ceci:
{"totalCount":19,"resultCount":19,"hasMore":false,"results":
Comment puis-je convertir correctement dans PowerShell?
OriginalL'auteur Anders Ekelund | 2017-04-24
Vous devez vous connecter pour publier un commentaire.
En regardant juste
(Get-Content -Path $pathToJsonFile) | ConvertFrom-Json
il ressemble le reste de l'JSON est inscrit dans uneresults
de la propriété, de sorte que nous pouvons obtenir le résultat que je pense que vous voulez en faire:Pour info vous pouvez faire
ConvertTo-Csv
etSet-Content
en un seul coup avecExport-CSV
:c'est parce que .résultats est le nom de l'objet JSON. Je suppose que vous avez un nom appelé "SyncRoot". J'ai un nom appelé "Poids". Que foiré avec moi pendant un certain temps, mais une fois que j'ai compris, il a travaillé 🙂
J'ai particulièrement eu à laisser l' ".les résultats" (et ajoutée Brute comme mon json a été "formaté" pour des raisons de lisibilité:
((Get-Content -Path $pathToJsonFile -Raw) | ConvertFrom-Json) | Export-CSV $pathToOutputFile -NoTypeInformation
PowerShell version 4 si il le faut.OriginalL'auteur Mark Wragg
Vous devez sélectionner le
results
de la propriété à l'intérieur de votre fichier CSV à l'aide de laSelect-Object
applet de commande avec le-expand
paramètre:OriginalL'auteur Martin Brandl
J'ai été faire mon json à partir d'un web REST api et a constaté que la suite travaillé:
OriginalL'auteur Pat Fahy