首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConvertFrom-Json输出不适用于Select-Object

ConvertFrom-Json输出不适用于Select-Object
EN

Stack Overflow用户
提问于 2017-03-02 07:28:43
回答 1查看 816关注 0票数 3

我正在使用PowerShell 4发出一系列web请求。从一个调用中,我得到了一个泛型数组--为了便于讨论,它看起来像这样

代码语言:javascript
复制
$data = '[{"Id":"1","Name":"One"},{"Id":"2","Name":"Two"}]'

我正在尝试解析这些数据以提取Name属性。但是,当我使用下面的调用时,它会写一行名称,但下面没有信息:

代码语言:javascript
复制
$data | ConvertFrom-Json | Select-Object Name

但是,如果我将对象保存到一个中间对象,就像这样,它可以工作:

代码语言:javascript
复制
$o1 = $data | ConvertFrom-Json
$o1 | Select-Object Name

我得到了正确的输出。

对象类型是不同的,但我不明白为什么。下面是相关Get-Member调用的输出:

代码语言:javascript
复制
$test | ConvrtFrom-Json | gm

TypeName: System.Object[]

代码语言:javascript
复制
$o1 | gm

TypeName: System.Management.Automation.PSCustomObject

有没有人能帮我理解我在收藏管理方面做错了什么?我希望能够在一条语句中做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-22 06:43:42

正如OP在评论中指出的那样,似乎出于某种神秘的原因,括号是需要的。对我来说,添加括号也是解决问题的办法。我不确定为什么没有括号的代码会中断,但我可以确认没有括号的代码在powershell核心中执行时不是问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42544123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档