Home > Software design >  Adjust json file using ConvertFrom-Json
Adjust json file using ConvertFrom-Json

Time:07-20

I have a json file with the following content

{
    "name":"myApp",
    "version":"1"
}

I would like to use Powershell to read this json file, adjust the version number, then output the new json to the same file.

I currently have this, but it doesn't work and only outputs an empty file

Get-Content file.json | ConvertFrom-Json | ForEach{$_.version = "2"} | ConvertTo-Json |  Out-File file.json -Encoding ascii

I am getting stuck on how to update values on the Json object created by ConvertFrom-Json and pipe this back into ConvertTo-Json

I would like to do this all in one line if possible.

CodePudding user response:

Once you assign the JSON to an object, you should be able to change it from there then write it to a file (if desired).

Create JSON object from file contents:

$jsonObject = Get-Content file.json -Raw |  ConvertFrom-Json

Change the current object. In your example the "version" property:

#update object
$jsonObject| %{$_.version = "2"}

Write object to file:

$jsonObject | ConvertTo-Json | Out-File "file.json" -Encoding ascii
  • Related