如何在powershell中访问嵌套对象的绝对值

How to access nested object's absolute value in powershell

您好,我已经以嵌套对象格式存储了一些数据。类似这样

$group={
    "share":  {
                  "users":  [
                              {"name" : james
                                "id" :27
                              },
                              {"name" : jeni
                                "id" :18
                              },
                            ]
              }
}

当我尝试检索 share 或 users 的值时 returns null

ping $group 的输出是

{
    "share":  {
                  "users":  [
                                "System.Collections.Hashtable",
                                "System.Collections.Hashtable"
                            ]
              }
}

如何检索用户的值

这就是你想要的吗?

$group = @'
{
    "share":{
        "users":[
            {
                "name":"james",
                 "id": "27"
            },
            {
                "name":"jeni",
                "id":"18"
            }
        ]
    }
}
'@

$group | 
ConvertFrom-Json

<#
share                   
-----                   
@{users=System.Object[]}
#>


$group | 
ConvertFrom-Json | 
Select -ExpandProperty Share

<#
users                                      
-----                                      
{@{name=james; id=27}, @{name=jeni; id=18}}
#>


$group | 
ConvertFrom-Json | 
Select -ExpandProperty Share | 
Select -ExpandProperty Users

<#
name  id
----  --
james 27
jeni  18
#>


$group | 
ConvertFrom-Json | 
Select -ExpandProperty Share | 
Select -ExpandProperty Users | 
Select Name

<#
name 
---- 
james
jeni
#>


$group | 
ConvertFrom-Json | 
Select -ExpandProperty Share | 
Select -ExpandProperty Users | 
Select id

<#
id
--
27
18
#>


($group | 
ConvertFrom-Json | 
Select -ExpandProperty Share | 
Select -ExpandProperty Users)[0]

<#
name  id
----  --
james 27
#>

*根据我的评论 *

# Dot reference the object

$group = @'
{
    "share":{
        "users":[
            {
                "name":"james",
                 "id": "27"
            },
            {
                "name":"jeni",
                "id":"18"
            }
        ]
    }
}
'@


(($group | ConvertFrom-Json)).share

<#
users                                      
-----                                      
{@{name=james; id=27}, @{name=jeni; id=18}}
#>



(($group | ConvertFrom-Json)).share.Users

<#
name  id
----  --
james 27
jeni  18
#>



(($group | ConvertFrom-Json)).share.Users.Name
<#
james
jeni
#>

(($group | ConvertFrom-Json)).share.Users.id
<#
27
18
#>

(($group | ConvertFrom-Json)).share.Users[0]

<#
name  id
----  --
james 27
#>



(($group | ConvertFrom-Json)).share.Users | Select-Object -First 1

<#
name  id
----  --
james 27
#>