对于这样的JSON:
{
"Tours": [{
"Code": "r",
"Name": "Tour 1",
"Tournaments": [{
"Number": "464",
"Title": "Open Tournament 1"
},
{
"Number": "047",
"Title": "Open Tournament 2"
}]
},
{
"Code": "s",
"Name": "Tour 2",
"Tournaments": [{
"Number": "524",
"Title": "Tournament 3"
},
{
"Number": "009",
"Title": "Tournament 4"
}]
}]
}
当转换为PS自定义对象并保存在$data变量中时,我可以像这样访问特定“巡回赛”的“锦标赛”下的值:
$data.Tours[0].Tournaments
$data.Tours[1].Tournaments
但是,是否可以通过在“Tour”下指定“Code”或“Name”值来访问“锦标赛”属性和值?就像这样,也许:
$data.Tours.Code['r'].Tournaments
实际上,在PS脚本中,我想要过滤数据的‘代码’下的‘巡回赛’,并获得潜在的‘锦标赛’(获得‘锦标赛’的具体‘代码’的‘巡回赛’)。
发布于 2016-06-21 01:55:49
您需要执行以下操作:
$data.Tours | Where-Object { $_.Code -eq 'r' } | Select-Object -ExpandProperty 'Tournaments'
要获得连接的代码和锦标赛号码的列表(其中代码是"r"),您可以这样做:
$data.Tours | Where-Object { $_.Code -eq 'r' } | ForEach-Object { $Code = $_.Code; $_.Tournaments | ForEach-Object { $Code + $_.Number }}
https://stackoverflow.com/questions/37928594
复制相似问题