json - 来自 JSON 文件的 Powershell Out-GridView

标签 json powershell pipeline

我想加载一个 JSON 文件并在 powershell GridView 中显示它。我希望这会起作用:

'[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json | Out-GridView

但这只是向我展示了这个无益的观点:ogv output 如何将列表转换为 GridView 可以理解的内容?

最佳答案

('[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json) | Out-GridView

# or

$converted = '[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json 
$converted | Out-GridView

这是 ConvertFrom-Json 以及任何隐式使用它的内容(例如 Invoke-RestMethod)的特性。它似乎没有像您期望的那样沿着管道传递对象,因此您必须完成管道以获取对象,然后再使用它们。

一种方法是将其分配给变量,另一种方法是将其括在括号中 ( )

我不确定为什么会出现这种情况,但我想这是一个有关其内部功能以及如何返回对象的实现细节。

<小时/>

我试图看看是否可以更深入地研究这个问题,使用 ForEach-Object 来看看出了什么问题,但它实际上只是工作了,所以这是另一种让它工作的方法,但是在单个管道中(通过使用多余的 ForEach-Object):

'[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json | ForEach-Object { $_ } | Out-GridView

# non-scrolling
'[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json | % { $_ } | ogv

关于json - 来自 JSON 文件的 Powershell Out-GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311047/

相关文章:

javascript - 为什么 JSON.parse 不起作用?

c++ - 如何制作 jsoncpp 数组?

R:在一个管道中组合几个 gsub() 函数

c - (Asterisk PBX) 如何从 features.conf 中的 asterisk agi 控制用 C 编写的程序

python - 如何使用 Tensorflow 数据集管道进行可变长度输入?

java - 如何在android volley中隐藏Url或参数值?

arrays - 如何将字符串转换为 JSON 并将数据保存在数组中?

powershell - 计划任务时PowerShell FileSystemWatcher不起作用

windows - 如何在 Windows 8.1 Update 2 操作系统中使用 PowerShell 环境中的 Win32 API FindWindow() 查找桌面窗口(按窗口名称)?

json - Azure 自动化 Webhook - Twilio StatusCallback 未到达 JSON