首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >转换JSON文件时出现“无效JSON原语”错误

转换JSON文件时出现“无效JSON原语”错误
EN

Stack Overflow用户
提问于 2014-06-27 13:41:15
回答 4查看 67.6K关注 0票数 24

当试图通过PowerShell转换JSON文件时:

代码语言:javascript
运行
复制
$json = Get-Content "C:\folder1\test.txt"

$json | ConvertFrom-Json 

write-output $json

我得到了以下错误:

无效的json原语: (system.argunment.exception)

EN

回答 4

Stack Overflow用户

发布于 2014-06-27 15:03:36

由于您没有提供输入数据或完整的错误消息,所以我将在这里讨论一下,但我猜想您的问题是由于Get-Content提供的输出与输入ConvertFrom-Json所期望的格式不匹配造成的。

Get-Content将输入文件读入一个字符串数组中,而ConvertFrom-Json则期望一个字符串中包含JSON数据。此外,将$json导入ConvertFrom-Json并不会改变$json的值。

将代码更改为以下内容,错误将被删除(前提是输入数据中没有语法错误):

代码语言:javascript
运行
复制
$json = Get-Content 'C:\folder1\test.txt' | Out-String | ConvertFrom-Json

Write-Output $json
票数 21
EN

Stack Overflow用户

发布于 2015-02-26 23:11:12

您应该检查JSON输入文件中没有用"\“正确转义的字符。

我还看到了输入JSON文件出现的问题,该文件格式不正确,格式如下:

代码语言:javascript
运行
复制
{
    Object1
}
{
    Object2
}

更正格式:

代码语言:javascript
运行
复制
[{
     Object1
 },
 { 
     Object2
 }]

一旦格式被纠正,我就没有问题了。

票数 14
EN

Stack Overflow用户

发布于 2019-11-14 01:19:56

我也收到了这个错误,在查看我的json文件时注意到一些JSON是无效的。我在数组中以逗号结束最后一个对象,如下所示:

代码语言:javascript
运行
复制
[{ ..},]

去掉逗号为我解决了这个问题。

总之,无效的JSON为我造成了这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24453320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档