我想加载一个JSON文件并在powershell GridView中显示它。我希望这能奏效:
'[{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6}]' | ConvertFrom-Json | Out-GridView但这正好向我展示了一个毫无帮助的观点:

如何将列表转换为网格视图所理解的内容?
发布于 2016-05-18 22:22:45
('[{"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 | % { $_ } | ogvhttps://stackoverflow.com/questions/37311047
复制相似问题