테이블 형식으로 가져오고 CSV로 내보내고 결국 SQL Server에 삽입하려고하는 직원을위한 매우 큰 JSON 응답이 있습니다. json 파일에서 모든 변수를 가져 오는 방법을 결정할 수 있었지만 지금은 각 직원의 새 행 대신 각 열의 모든 값을 한 행에 삽입했습니다. 또한 CSV로 내보낼 때 값은 System.Object []로 바뀝니다.Powershell pscustomobject 형식 테이블 한 줄 대신 새로운 행
$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