jq 简单使用

jq 官网

  1. 简单提取
    假设你有一个 JSON 文件 data.json,其内容如下:

    {
      "name": "Alice",
      "age": 30,
      "city": "New York"
    }
    

    要提取 "name" 的值,可以使用:

    jq '.name' data.json
    
  2. 嵌套提取
    对于嵌套的 JSON 数据,例如:

    {
      "person": {
        "name": "Alice",
        "age": 30
      }
    }
    

    你可以使用点表示法提取嵌套的值:

    jq '.person.name' data.json
    
  3. 过滤数组
    假设你有一个包含对象数组的 JSON 文件:

    [
      {"name": "Alice", "age": 30},
      {"name": "Bob", "age": 25},
      {"name": "Charlie", "age": 35}
    ]
    

    要过滤出年龄大于 30 的人,可以使用:

    jq '.[] | select(.age > 30)' data.json
    
  4. 搜索特定值
    如果你想查找特定的值,例如查找名字是 "Bob" 的人:

    jq '.[] | select(.name == "Bob")' data.json
    
  5. 复杂查询
    使用逻辑运算符进行更复杂的查询。例如,查找年龄在 25 到 35 之间的人:

    jq '.[] | select(.age >= 25 and .age <= 35)' data.json
    
  6. 输出格式化
    jq 默认会格式化输出,如果你只想要原始的 JSON 字符串,可以使用 -c 选项:

    jq -c '.[] | select(.age > 30)' data.json
    

通过这些基本命令,你可以在 JSON 数据中进行有效的搜索和过滤。jq 还有更多高级功能和选项,可以根据需要查阅其文档进行深入学习。

posted @ 2024-10-09 21:09  Undefined443  阅读(31)  评论(0)    收藏  举报