如何在System.Object [] Powershell,invoke-webrequest中显示

时间:2016-01-12 15:58:56

标签: json csv powershell

我的代码就像这样

       $username = "username"
        $password = "password"

        $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))

        $response = Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Uri https://api.bitbucket.org/2.0/teams/Ateam/members -Method Get

$new = $response |select Values 

$new

$new|Export-Csv C:\Users\helloworld\Desktop\BitBucket\Ateam.team.csv -NoTypeInformation  

当我执行这个脚本时,我可以在我的Powershell Board上看到这样的“值”内部。

values                                                                                                                                                                                                                             
------                                                                                                                                                                                                                             
{@{username=helloworld; website=; display_name=rhelloworld; uuid ={dewi3urgfj-.

但我检查了我的csv,就像这样说

values
System.Object[]

我想像我这样在我的csv上展示,

 {@{username=helloworld; website=; display_name=rhelloworld; uuid ={dewi3urgfj-.

如何执行“$ new”时,如何在我的csv上显示“System Object []”内部?

1 个答案:

答案 0 :(得分:2)

您还有其他财产价值'在你的对象$ new。目前,它正在出口价值观'作为列,然后是作为单元格的对象列表。

您可以将您的单元格转换为JSON,如下所示:

$new.values  = $new.values | ConvertTo-Json -Compress

但就我个人而言,我不明白你为什么要这样导出CSV。它几乎不可读,CSV只有一列和一行。

您确定不想将对象列表导出为CSV,如下所示:

$new.values | Export-Csv C:\Users\helloworld\Desktop\BitBucket\Ateam.team.csv -NoTypeInformation