我正在尝试在PowerShell v5.1中编写一些代码,这些代码通过解析的JSON对象来获取其属性名称。下面是一个示例JSON对象:
{
"str1": "Hello World!",
"strings": {
"strA": "Foo!",
"strB": "Bar!"
},
"others": {
"myBool": true,
"myInt": 42
}
}
首先,我将对象读取并解析为PSObject
:
$jsonString = '{"str1": "Hello World!", "strings":{"strA": "Foo!","strB": "Bar!"}, "others":{"myBool": true,"myInt": 42}}'
$json = $jsonString | ConvertFrom-Json
接下来,我可以使用$json.PSobject.properties.name
获取所有顶级属性名称的列表:
PS> $json.PSobject.properties.name str1 strings others
但是,如果我使用$json.PSobject.properties.value
,我只会看到第一个两个值输出:
PS> $json.PSobject.properties.value Hello World! strA strB ---- ---- Foo! Bar!
我希望看到此处包含others
属性。有没有理由我没有看到它?