Hello I have a json file below:
{
"supports": {},
"dependencies": {
"AST.NxTestware.main": "1.1.0",
"otherPackagenName": "7.7.7"
},
"frameworks": {
".NETPortable,Version=v4.5,Profile=Profile78": {}
}
}
and I am trying to write a .ps1 powershell script that will look at every item under 'dependencies', check if the name matches, and if so, retrieve the version number.
but I am having trouble parsing through each item in 'dependencies', and cannot retrieve the package name string or version number
My ps1 looks like this:
$targetName = "otherPackagenName"
Write-Host "Trying to get version # of $targetName if it exists inside project.json"
# get json file contents
$json = Get-Content .\project.json | ConvertFrom-Json
# retrieve dependencies
$dependencies = $json.dependencies
Write-Host "dependencies = $dependencies"
# iterate through each dependency
foreach ($dep in $dependencies) {
Write-Host "dep = $dep"
# try to get dependency name (attempt1)
$depName1 = $dep[0]
Write-Host "depName1 = $depName1"
# try to get dependency name (attempt2)
$depName2 = $dep.Name
Write-Host "depName2 = $depName2"
if($depName1 -eq $targetName) {
write-host "Found it! now get version number"
} else {
write-host "Did not find our package"
}
}
output shows it correctly retrieves the json key/value pair, but I cant figure out how to retrieve the package name and version number, as every thing ive tried just returns blank:
Trying to get version # of otherPackagenName if it exists inside project.json
dependencies = @{AST.NxTestware.main=1.1.0; otherPackagenName=7.7.7}
dep = @{AST.NxTestware.main=1.1.0; otherPackagenName=7.7.7}
depName1 = @{AST.NxTestware.main=1.1.0; otherPackagenName=7.7.7}
depName2 =
Did not find our package
my dependencies is coming through like so:
@{AST.NxTestware.main=1.1.0; otherPackagenName=7.7.7}
How can I iterate through this object?
How can I retrieve the key ('AST.NxTestware.main') and value ('1.1.0') for each dependency?