jtb*_*jtb 4 powershell json pipeline
我想加载一个JSON文件并在powershell GridView中显示它.我希望这会奏效:
'[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json | Out-GridView
Run Code Online (Sandbox Code Playgroud)
('[{"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
Run Code Online (Sandbox Code Playgroud)
这是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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |