• 命令行中处理json数据


    一、安装

    百度brew install、apt install、yum install等

    二、常用操作

    1.格式化json

    XX命令  | jq    #比如cat a.json |jq
    XX命令 | jq ''  #比如cat a.json | jq ''

    cat a.json | jq '' | less    #如果 json 很长,则可以使用管道传给 less 命令 

    2.取指定字段的值

    直接输入字段,使用.嵌套访问,例如要获取昨天的信息

    curl -s http://t.weather.sojson.com/api/weather/city/101310215 | jq .data.yesterday
    响应如下: { "date": "24", "high": "高温 29℃", "low": "低温 23℃", "ymd": "2019-10-24", "week": "星期四", "sunrise": "06:34", "sunset": "18:10", "aqi": 27, "fx": "无持续风向", "fl": "<3级", "type": "多云", "notice": "阴晴之间,谨防紫外线侵扰" }

    3.过滤指定字段

    使用一个json指定所有字段,如{date, high},获取昨天的最高温度如下

     curl -s http://t.weather.sojson.com/api/weather/city/101310215 | jq .data.yesterday|jq "{date,high}"
    响应如下:
    {
      "date": "24",
      "high": "高温 29℃"
    }

    4.获取多个字段的值

    使用逗号获取多个

    curl -s http://t.weather.sojson.com/api/weather/city/101310215 | jq .data.yesterday|jq ".date, .high"
    响应如下: "24" "高温 29℃"

    5.筛选数组

    直接指定数组的索引即可

    curl -s http://t.weather.sojson.com/api/weather/city/101310215 |jq ".data.forecast"|jq ".[0,9]"
    响应如下:
    {
      "date": "25",
      "high": "高温 29℃",
      "low": "低温 23℃",
      "ymd": "2019-10-25",
      "week": "星期五",
      "sunrise": "06:35",
      "sunset": "18:10",
      "aqi": 44,
      "fx": "无持续风向",
      "fl": "<3级",
      "type": "中雨",
      "notice": "记得随身携带雨伞哦"
    }
    {
      "date": "03",
      "high": "高温 26℃",
      "low": "低温 24℃",
      "ymd": "2019-11-03",
      "week": "星期日",
      "sunrise": "06:38",
      "sunset": "18:05",
      "fx": "东风",
      "fl": "3-4级",
      "type": "小雨",
      "notice": "雨虽小,注意保暖别感冒"
    }
  • 相关阅读:
    .Net Core实现下载多个文件并压缩打包
    VS上使用Docker调试编译net core项目时卡在 vsdbgvs2017u5 exits,deleting.
    spring boot actuator监控详细介绍
    数仓知识
    layui使用 弹窗 layer
    Spring配置数据源(连接池)
    Spring配置文件-引入其他配置文件(分模块开发import)&Spring相关API
    Spring配置文件-Bean标签配置
    事务的四大特征&事务隔离级别
    事务
  • 原文地址:https://www.cnblogs.com/feifei-cyj/p/12253847.html
Copyright © 2020-2023  润新知