^ [[0; 32m?〜V? ^ [[0m
JSON文件正在由Shell脚本编写。
因此,文本处理会生成这些特殊字符,可以使用dos2unix进行尝试,也可以使用%s选项在全局范围内更改字符。
答案 0 :(得分:0)
检查一下。我在示例JSON文件中引入了一些控制字符,可以使用“ cat -v”命令显示这些控制字符。带有^ B,^ A,^ D的字符是控制字符。 使用perl可以完全删除控制字符。您可以重定向到新文件
> cat -v json_control.txt
^B{"menu": {
"id": "file",
"value": "File",
"popup": ^B{
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}^D
^A
> perl -pe ' { s/[\x00-\x09\x0B-\x1F]//g } ' json_control.txt | cat -v
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
>