0

このような 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

しかし、「ツアー」の下に「コード」または「名前」の値を指定して、「トーナメント」のプロパティと値にアクセスすることは可能ですか? そのようなもの、多分:

$data.Tours.Code['r'].Tournaments

実際、PSスクリプトでは、「ツアー」の下の「コード」でデータをフィルタリングし、基になる「トーナメント」を取得します(「ツアー」の特定の「コード」の「トーナメント」を取得します)。

4

1 に答える 1

1

次のようなことをする必要があります:

$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 }}
于 2016-06-20T17:55:49.400 に答える