已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
5天前关闭。
Improve this question
下面的代码工作正常
echo '{"deploy_target": ["dev"]}' | jq
但
echo '{'deploy_target': ['dev']}' | jq
给出jq: parse error: Invalid numeric literal at line 1, column 15
我正在获取'{'deploy_target': ['dev']}'
作为变量shell脚本。我如何用jq解析它?
1条答案
按热度按时间gab6jxml1#
请注意,您需要在
echo
中的字符串周围使用双引号,以便shell将整个字符串解析为一个字符串,然后您需要tr
将单引号替换为双引号,以便jq
接收有效的JSON。注意,这是一个非常粗糙的方法。这可能会失败(例如,如果其中一个JSON属性值中已经有一个双引号),因此,正如对这个答案和问题的评论中所讨论的那样,最好发出有效的JSON以馈送到
jq
。