我试图读取一个大的json数据结构,但我收到消息:解析错误:第2行第0列的无效数字文字 我正在使用的命令是下一个命令:
n_rules=$(echo rulebase_list | jq '.total')
并且文件在第一层次结构中具有变量
"total" : 126
您知道为什么我会遇到问题吗? 我想问题是126是一个数字值,但是我该怎么办?
答案 0 :(得分:1)
根据您在问题中发布的脚本仔细检查您的脚本。如果它们匹配,那么答案很容易。
传递给"total" : 126
的字符串中没有jq
,因为您将echo rulebase_list
的输出即rulebase_list
传递给了它。
您可能想要的是将jq
文件的内容发送到rulebase_list
,为此的工具是cat
:
n_rules=$(cat rulebase_list | jq '.total')
或者(更快)是从文件重定向jq
的输入:
n_rules=$(jq '.total' < rulebase_list)
或者将输入文件名指定为jq
命令行中的最后一个参数:
n_rules=$(jq '.total' rulebase_list)
答案 1 :(得分:0)
您忘记在脚本中包含 $
。添加它,它将被修复。
n_rules=$(echo $rulebase_list | jq '.total')