无法解析模板:解析JSON时出错:无效字符'ÿ'正在寻找值的开头

时间:2016-05-18 08:34:48

标签: json parsing powershell-v4.0 packer

  

无法解析模板:解析JSON时出错:无效字符'ÿ'寻找值的开头

我使用

时出现此错误
curl -X GET 'http://localhost:5984/mydatabase/_all_docs?include_docs=true' | jq '{"docs": [.rows[].doc]}' | jq 'del(.docs[]._rev)' > db.json

和此:

  

无法解析模板:解析JSON时出错:无效字符'ÿ'正在寻找值的开头

使用时

$Parsed_json | ConvertTo-Json -Depth 999 -Compress |
    Out-File $nameOfJsonFile -Force 

JSON在线验证器批准了我的JSON。

到目前为止,我对此主题的研究是,当您使用$Parsed_json | ConvertTo-Json -Depth 999 | Out-File $nameOfJsonFile -Force 时打印自身的Unicode字符正在创建此问题。我的JSON文件的编码是ASCII,对此问题的任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

显然这是编码问题。分辨率是使用ASCII编码创建输出文件(实际上它是ANSI编码,但由于参数参数名为Ascii,为了简单起见,我们坚持使用,例如,像这样:

$Parsed_json | ConvertTo-Json -Depth 999 -Compress |
    Out-File $nameOfJsonFile -Encoding Ascii -Force

或者像这样(Set-Content默认使用ASCII编码):

$Parsed_json | ConvertTo-Json -Depth 999 -Compress |
    Set-Content $nameOfJsonFile -Force