我试图使用jq
解析一个JSON,但它给出了解析错误,我相信我的JSON是有效的。
echo {"ok":true,"elapsed":"317ns"} | jq -r '.ok'
jq: parse error: Invalid numeric literal at line 1, column 3
你能帮帮忙吗
我试着把'周围的查询,然后它的工作正常,但我不能理解什么是第一个问题。
echo '{"ok":true,"elapsed":"317ns"}' | jq -r '.ok'
true
1条答案
按热度按时间4c8rllxm1#
让我们看看shell如何处理echo语句:
发生了几件事:
假设您的shell是bash,这将在3.5.1 Brace Expansion和3.5.9 Quote Removal中进行解释
Shell是一种很复杂的语言。这就是为什么在任何地方使用引号都很重要。
或者,如果JSON数据存储在变量中: