Update JSON file using PowerShell
Your json is missing the starting and ending curly brackets:
{ "policies": { "Framework.DataContext": { "connectionString": "Server=ServerName;Database=DateBaseName;Integrated Security=sspi;" } }}
Now you can update the file like this:
$pathToJson = "F:\Path\To\JSON\file.json"$a = Get-Content $pathToJson | ConvertFrom-Json$a.policies.'Framework.DataContext'.connectionString = "Server=ServerName;Database=DateBaseName;Integrated Security=sspi2;"$a | ConvertTo-Json | set-content $pathToJson
You could also use some Select-Object
to get the property:
$connectionString = $a | select -expand policies | select -expand Framework.DataContext $connectionString.connectionString = 'Test'
$s = Get-Content "F:\Path\To\JSON\file.json" -Raw|ConvertFrom-Json$s.policies.'Framework.DataContext'.connectionString="Server=ServerName;Database=DateBaseName;Integrated Security=sspi2;"$s|ConvertTo-Json |Set-Content "F:\Path\To\JSON\file.json"
I also faced the similar problem. Fixed it by specifying the INDEX of the object I was trying to edit.
$a.policies[0].'Framework.DataContext'.connectionString = "Server=ServerName;Database=DateBaseName;Integrated Security=sspi;"
Hope it helps!