我不是 powershell 专家,如果我的问题令人困惑,请原谅。
我们正在使用 ConverTo-JSON 创建一个 JSON 文件,它成功地创建了 JSON 文件。但是,当我 cat JSON 的内容时,它有'??'在 json 文件的开头,但当我下载文件/在文件系统中查看文件时没有看到相同的内容。
下面是用于创建 JSON 文件的 powershell 代码:
$packageJson = @{
packageName = "ABC.DEF.GHI"
version = "1.1.1"
branchName = "somebranch"
oneOps = @{
platform = "XYZ"
component = "JNL"
}
}
$packageJson | ConvertTo-Json -depth 100 | Out-File "$packageName.json"
上面的代码集成功地创建了文件,当我查看文件时,一切看起来都很好,但是当我 cat 文件时,它有前导 '??'如下图:
??{
"packageName": "ABC.DEF.GHI",
"version": "0.1.0-looper-poc0529",
"oneOps": {
"platform": "XYZ",
"component": "JNL"
},
"branchName": "somebranch"
}
因此我无法解析 JSON 文件并给出以下错误:
com.jayway.jsonpath.InvalidJsonException: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('?' (code 65533 / 0xfffd)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
最佳答案
那些不是 ?
字符。这是构成 Unicode byte order mark 的两个不同的不可打印字符.您看到 ?
因为这是调试器、文本编辑器、操作系统或相关字体呈现不可打印字符的方式。
要解决此问题,请更改输出编码,或在另一端使用理解 UTF-8 的字符集。前者是a simpler fix ,但从长远来看,后者可能更好。最终您会得到需要扩展字符的数据。
关于powershell - 使用 ConvertTo-JSON 创建 JSON 时出现非法字符 '?' a,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52821806/