/ / Acceda a las propiedades y claves dentro de JSON usando PowerShell - json, powershell, scripting

Acceda a las propiedades y claves dentro de JSON usando PowerShell - json, powershell, scripting

Tengo un script de PowerShell y me gustaría acceder a una clave anidada. Aquí está mi JSON:

{
"name": "versions.json",
"versions": {
"1.0.0": {
"Component1": "1.0.0",
"Component2": "1.0.0",
"Component3": "1.0.0"
},
"2.0.0": {
"Component1": "2.0.0",
"Component2": "2.0.0",
"Component3": "2.0.0"
}
}
}

No estoy seguro de cómo acceder a los valores dentro de cada versión (1.0.0 y 2.0.0). Sé que obtengo el nombre de la propiedad para cada "versión" usando:

($json.versions.PSobject.Properties) | ForEach-Object {
"Data: $($_.Name)"
}

Pero, ¿cómo itero a través de cada una de las propiedades de los objetos de "versión" y veo su valor, es decir, cómo verifico lo que está contenido dentro de "1.0.0"? Para "1.0.0" esperaría ver

"Componente 1" en 1.0.0 "Componente 2" en 1.0.0 "Componente 3" en 1.0.0

Respuestas

2 para la respuesta № 1

Haz lo mismo que estas haciendo por versions Para los valores de sus propiedades:

$json.versions.PSobject.Properties | ForEach-Object {
"Data: $($_.Name)"
$_.Value.PSobject.Properties | ForEach-Object {
""{0}" at {1}" -f $_.Name, $_.Value
}
}