zoukankan      html  css  js  c++  java
  • jq进行json数据解析

    jq进行json数据解析

    学习了:https://www.jianshu.com/p/6de3cfdbdb0e

    https://blog.csdn.net/u011641885/article/details/45559031

    https://www.cnblogs.com/tinywan/p/7684414.html

    https://stedolan.github.io/jq/manual/. 帮助文档

    使用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
      }
    ]
  • 相关阅读:
    指针总结与地址
    寻址方式
    为什么要有指针?
    指针与变量
    Wired Memory
    Memory Usage Performance Guidelines
    内存管理与运行时
    Java jvm 内存回收机制
    GC详解及Minor GC和Full GC触发条件总结
    Java的内存回收机制详解X
  • 原文地址:https://www.cnblogs.com/stono/p/12293823.html
Copyright © 2011-2022 走看看