"Invalid JSON primitive" error when converting JSON file "Invalid JSON primitive" error when converting JSON file powershell powershell

"Invalid JSON primitive" error when converting JSON file


I'm going out on a limb here, since you didn't provide your input data or the complete error message, but I guess that your problem is caused by a format mismatch between the output Get-Content provides and the input ConvertFrom-Json expects.

Get-Content reads the input file into an array of strings, whereas ConvertFrom-Json expects the JSON data in a single string. Also, piping $json into ConvertFrom-Json does not change the value of $json.

Change your code to the following and the error should disapear (provided there is no syntactical error in your input data):

$json = Get-Content 'C:\folder1\test.txt' | Out-String | ConvertFrom-JsonWrite-Output $json


You should check your JSON input file for characters that are not properly escaped with a "\"

I have also seen this issue with an input JSON file that was incorrectly formatted as follows:

{    Object1}{    Object2}

Corrected format:

[{     Object1 }, {      Object2 }]

Once the format was corrected, I had no more issues.


I was also receiving this error, and upon investigating my json file noticed that some of the JSON was invalid. I was ending the last object in an array with a comma like so:

[{ ..},]

Removing the comma fixed the issue for myself.

So in short, invalid JSON caused this issue for me.