jq not parsing json with spaces
本问题已经有最佳答案,请猛点这里访问。
我尝试运行以下命令,从文件中读取JSON并用JQ格式化它:
1 | jq -n -r --arg m $(<$1) '$m | fromjson | {records:[{value:.}]}' |
当输入json不包含空格时,它会生成所需的输出,如
1 2 3 4 5 6 7 8 9 | { "records": [ { "value": { "test":"helloworld" } } ] } |
但是,对于像
1 2 3 | jq: error: syntax error, unexpected QQSTRING_START, expecting $end (Unix shell quoting issues?) at <top-level>, line 1: world"} jq: 1 compile error |
不知道是什么导致了这个问题。
感谢您的帮助:)
这不是一个
将
1 2 | arg='{"test":"hello world"}' jq -n -r --arg m"$arg" '$m | fromjson | {records:[{value:.}]}' |
您遇到了一个shell问题:在
顺便说一下,当有多个移动部件(如这里所示)时,最好在诉诸stackoverflow之前隔离问题。这样的话,你通常会自己解决问题;如果不是这样,至少会让其他人更容易关注真正的(并且希望是有趣的)问题。