【问题标题】:How to transform powershell json response to csv如何将powershell json响应转换为csv
【发布时间】:2021-04-01 05:00:40
【问题描述】:

这是我的 PowerShell,它正在调用 API 并返回 JSON 响应。

$output = Get-SurveyParticipents `
 -url "https://orxsurveys.limequery.com/admin/remotecontrol" `
 -session $sessionKey `
 -id "519965" `
 -start "0" `
 -limit "2" `
 -unused $False `
 -attributes ["completed", "usesleft"]

($output | Export-Csv -NoTypeInformation ./testtt.csv)

写入主机 $output 产生:

@{tid=6; token=35ddmyQTlNpzLat; participant_info=} @{tid=7; token=nQ_S838LjYT4mR6; participant_info=}

Export-CSV 产生:

这是我需要从 export-csv 生成的:

谁能指出正确的方向,将“participant_info”转换为有效的 json 以用于 CSV 导出? - 你可以告诉我,除了将它用于 SharePoint 之外,我对 PowerShell 几乎没有经验。谢谢!

【问题讨论】:

  • 那不是 json。 $output 看起来像是被 write-host 转换为字符串的对象。
  • 感谢您的澄清:)

标签: json powershell api csv


【解决方案1】:

您的目标是输出具有一组自定义属性的对象(因为它与原始对象不同)。这可以通过Select-Object 和计算属性来完成。

$output | 
    Select-Object tid,token,
        @{n='Firstname';e={$_.participant_info.Firstname}},
        @{n='Lastname';e={$_.participant_info.Lastname}},
        @{n='Email';e={$_.participant_info.Email}} |
            Export-CSV testtt.csv -NoType

【讨论】:

  • 非常感谢。这行得通,我现在将研究 Select-Object
猜你喜欢
  • 2015-08-23
  • 1970-01-01
  • 2021-03-31
  • 2017-09-18
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 2021-01-08
相关资源
最近更新 更多