PowerShell 迭代键值对的 json

Tom*_*adi 6 reflection powershell json

我有一个 json 文件,它将 alpha-2 代码映射到国家/地区名称:

\n
{\n    "AF": "Afghanistan",\n    "EG": "\xc3\x84gypten",\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我想迭代每个键值对来处理数据。我怎样才能实现这一目标?

\n

我尝试了以下操作,但它总是返回一个不可以键值方式迭代的大对象:

\n
$json = Get-Content -Path C:\\countries.json | ConvertFrom-Json\n
Run Code Online (Sandbox Code Playgroud)\n

Tom*_*adi 13

我能够使用内在.psobject属性来实现它:

foreach ($obj in $json.PSObject.Properties) {
    $obj.Name
    $obj.Value
}
Run Code Online (Sandbox Code Playgroud)

  • 好的; 对于想要提取任意嵌套 JSON 对象中所有叶属性的名称路径和值的人,请参阅[此答案](/sf/answers/4493232411/)。 (2认同)