テーブル形式に変換し、CSVにエクスポートし、最終的にSQL Serverに挿入しようとしている従業員に対して、非常に大きなJSON応答があります。私はjsonファイルからすべての変数を取得する方法を決定することができましたが、各従業員の新しい行ではなく、各列のすべての値を1つの行に挿入するようになりました。 また、CSVにエクスポートすると、値はSystem.Object []に変わります。Powershell pscustomobject形式テーブル1行ではなく新しい行
$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
列は実際にはおそらく100列あります。しかし、このような私の応答を返す:
associateOID workerID givenName
------------ -------- ---------
{1,2,3,4,5...} {a,b,c,d,e...} {Lebron James, Micheal Jordan, Steph Curry...}
は、私はそれを返すしたいと思います:CSVへのエクスポート時に
associateOID workerID givenName
------------ -------- ---------
1 A Lebron James
2 B Micheal Jordan
3 C Steph Curry
はまた、応答が正しい列を持っていますが、すべての列がで返す:システム。オブジェクト[]。 また、intと日付を持つ私のフィールドはデータを返していません。どうすればそれを修正することもできますか?
私はsort-object、group-object、for-eachループを使用しようとしました。何も働いていません。
私はあなたの正確なコードを試して、CSVのために同じセルに各従業員を依頼しています。別のスレッドから、私はforループを実行でき、各カラム名の最後に[i]を使用できることを読んだ。これは常に記入された列に対しては機能しましたが、MiddleNameなどではない列はそのメソッドで間違った順序で終了しました。 – Jumpman