当试图通过PowerShell转换JSON文件时:
$json = Get-Content "C:\folder1\test.txt"
$json | ConvertFrom-Json
write-output $json我得到了以下错误:
无效的json原语: (system.argunment.exception)
发布于 2014-06-27 15:03:36
由于您没有提供输入数据或完整的错误消息,所以我将在这里讨论一下,但我猜想您的问题是由于Get-Content提供的输出与输入ConvertFrom-Json所期望的格式不匹配造成的。
Get-Content将输入文件读入一个字符串数组中,而ConvertFrom-Json则期望一个字符串中包含JSON数据。此外,将$json导入ConvertFrom-Json并不会改变$json的值。
将代码更改为以下内容,错误将被删除(前提是输入数据中没有语法错误):
$json = Get-Content 'C:\folder1\test.txt' | Out-String | ConvertFrom-Json
Write-Output $json发布于 2015-02-26 23:11:12
您应该检查JSON输入文件中没有用"\“正确转义的字符。
我还看到了输入JSON文件出现的问题,该文件格式不正确,格式如下:
{
Object1
}
{
Object2
}更正格式:
[{
Object1
},
{
Object2
}]一旦格式被纠正,我就没有问题了。
发布于 2019-11-14 01:19:56
我也收到了这个错误,在查看我的json文件时注意到一些JSON是无效的。我在数组中以逗号结束最后一个对象,如下所示:
[{ ..},]去掉逗号为我解决了这个问题。
总之,无效的JSON为我造成了这个问题。
https://stackoverflow.com/questions/24453320
复制相似问题