解析错误:第2行第0列的数字常量无效

时间:2018-11-13 11:30:49

标签: json jq

我试图读取一个大的json数据结构,但我收到消息:解析错误:第2行第0列的无效数字文字 我正在使用的命令是下一个命令:

n_rules=$(echo rulebase_list | jq '.total')

并且文件在第一层次结构中具有变量

"total" : 126

您知道为什么我会遇到问题吗? 我想问题是126是一个数字值,但是我该怎么办?

2 个答案:

答案 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)

详细了解jqhttps://stedolan.github.io/jq/manual/

答案 1 :(得分:0)

您忘记在脚本中包含 $。添加它,它将被修复。

n_rules=$(echo $rulebase_list | jq '.total')