我有一个非常大的 JSON 响应给我试图进入表格格式、导出到 CSV 并最终插入 SQL Server 的员工。我能够确定如何从 json 文件中获取所有变量,但是现在我将所有值插入到每一列的一行中,而不是每个员工的新行中。此外,当我导出到 CSV 时,值变成了 System.Object []。
$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...}
我希望它返回:
associateOID workerID givenName
------------ -------- ---------
1 A Lebron James
2 B Micheal Jordan
3 C Steph Curry
此外,在导出到 CSV 时,响应具有正确的列,但所有列都返回:System.Object[]。此外,我的具有整数和日期的字段没有返回数据。我该如何解决这个问题?
我尝试过使用 sort-object、group-object、for-each 循环。没有任何效果。