学习了: https://www.jianshu.com/p/6de3cfdbdb0e
https://www.cnblogs.com/tinywan/p/7684414.html
使用 man 可以查看详细帮助, 太强大了;
- ? yiqing cat a.JSON|jq '.'
- {
- "another": 1,
- "all": {
- "a0": {
- "a1": {
- "a2": [
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- },
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- },
- "b0": {
- "b1": {
- "b2": [
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- },
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- }
- }
- }
a 获取多个属性, 逗号分隔, 可以列出不包含的
- ? yiqing cat a.JSON|jq '.all|.a0,.b0,.c0'
- {
- "a1": {
- "a2": [
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- },
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- }
- {
- "b1": {
- "b2": [
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- },
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- }
b 可以直接按照数据来进行过滤
- ? yiqing cat a.JSON|jq '.all|.[]'
- {
- "a1": {
- "a2": [
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- },
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- }
- {
- "b1": {
- "b2": [
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- },
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
- ]
- }
- }
c 不停的按照数据进行过滤, 可以实现对象不停的拆解
- ? yiqing cat a.JSON|jq '.all|.[]|.[]|.[]'
- [
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- },
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- }
- ]
- [
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- },
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
- ]
d 拆解成一个一个对象
- ? yiqing cat a.JSON|jq '.all|.[]|.[]|.[]|.[]'
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- }
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- }
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- }
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
e 加上括号有可以变为数组
- ? yiqing cat a.JSON|jq '[.all|.[]|.[]|.[]|.[]]'
- [
- {
- "a3": "a3",
- "lng": 1,
- "lat": 2
- },
- {
- "a32": "a32",
- "lng": 1,
- "lat": 2
- },
- {
- "b3": "b3",
- "lng": 1,
- "lat": 2
- },
- {
- "b32": "b32",
- "lng": 1,
- "lat": 2
- }
- ]
来源: http://www.bubuko.com/infodetail-3415717.html