2017-02-15 83 views
0

我遇到了我似乎无法找到解决方案的情况。我正在使用Invoke-WebRequest来抓取一个网站,当我从我的阵列中查看我的输出时,有几个属性是System.Object s。我需要找到一种方法让他们成为字符串,这样当我Export-Csv我实际上可以看到值。这里是我的代码:阵列的格式化输出

$params = @{api_id='';api_key='';page_size='100';site_id=''} 
$stats = Invoke-WebRequest https://my.incapsula.com/api/visits/v1 -Method Post -Body $params 
$s = $stats 
$s = $s | ConvertFrom-Json 
$s = $s.visits 

下面列举一下我的结果是这样的:

Output from $s | FT

+1

此[通过的Boe的Prox交](https://learn-powershell.net/2014/01/24/avoiding-system-object-or-s imilar-output-when-using-export-csv /)可能很有用。注意:底部的脚本中心链接已损坏,脚本可以在[他的GitHub]上找到(https://github.com/proxb/PowerShell_Scripts) – BenH

+0

谢谢Ben。我已经阅读过那篇文章。我其实想出了如何解决这个问题。我以前的尝试正处于正确的轨道上。我创建了一个新对象,并为我使用过的系统对象($ _ | select -expandproperty'propertyname')的属性创建了一个新对象。 – T4RH33L

回答

0

我的解决方案是创建一个新的自定义对象,并使用以下语法上是一个对象的属性本身:

($_ | select -expandproperty 'propertyname')