Update JSON file using PowerShell Update JSON file using PowerShell powershell powershell

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!