我是 jq 的新手,在解析我的 json 时遇到问题
我有一个 json 存储在这样的变量中
temp='{ "1": { "my_name": "one" }, "2": { "my_name": "two" } }'
现在我需要为其他两个条目获取 my_name 的值
我试过这样的事情
echo $temp | jq '.1' //out put 0.1
I was assuming to get { "my_name": "one" }
同样为了获得 my_name 值,我做了
echo $temp | jq '.1.my_name' // Its output is giving me error
任何人都可以帮助确定我的语法有什么问题以及如何纠正它。
最佳答案
只是数字被解释为浮点数。您需要在它明确是键字符串的上下文中使用它。
echo "$temp" | jq '.["1"]["my_name"]'
和
echo "$temp" | jq '.["1"]'
获取包含的字典。
有了足够新的
jq
(我认为 >= 1.4),您还可以说echo "$temp" | jq '."1".my_name'
关于json - 当键是数字字符串时使用jq从json获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28844295/