1 | cat abc.json|jq . |
1 | cat abc.json|jq '.children' |
1 | cat abc.json|jq keys |
1 | cat abc.json|jq .[] |
1 | cat abc.json|jq [.[]] |
1 | cat abc.json|jq .[1] |
1 | echo '[{"name": "foo"},{"name": "bar"},{"name": "foobar"}]' |jq .[].name |
1 | echo '[{"name": "foo"},{"name": "bar"},{"name": "foobar"}]' |jq '.[]|.name' |
1 | echo '[{"name": "foo"},{"name": "bar"},{"name": "foobar"}]' |jq [.[].name] |
map
创建数组1 | echo '[{"name": "foo"},{"name": "bar"},{"name": "foobar"}]' |jq 'map(.name)' |
length
可以获取字符串或数组的长度1 | echo '{"url": "mozillazg.com", "name": "mozillazg"}' |jq '.url|length' |
map(foo)
可以实现对数组的每一项进行操作,然后合并结果的功能1 | echo '["mozillazg.com", "mozillazg"]' | jq 'map(length)' |
select(foo)
可以实现对输入项进行判断,只返回符合条件的项1 | echo '["mozillazg.com", "mozillazg"]' | jq 'map(select(.|length > 9))' |
\(foo)
实现字符串插值功能1 | echo '{"url": "mozillazg.com", "name": "mozillazg"}' |jq '"hi \(.name)"' |
+
实现字符串拼接1 | echo '{"url": "mozillazg.com", "name": "mozillazg"}' |jq '"hi " + .name' |
if .. then .. elif .. then .. else .. end
实现条件判断1 | echo '[0, 1, 2, 3]' \ |
{}
和 []
构造新的 object 或 数组1 | echo '["mozillazg.com", "mozillazg"]' |jq '{name: .[1]}' |
1 | echo '["mozillazg.com", "mozillazg"]' | jq '.|join(" | ")' |
1 | echo '"mozillazg.com | mozillazg"' |jq 'split(" | ")' |
有两个json文件,需要提示两个文件中的指定字段,之后合并生成为一个csv文件。json文件如下: