json处理工具jq

@ 2018-03-01

jq工具可以检查JSON的合法性,并把JSON格式化成更友好更可读的格式。

将一团乱麻的JSON格式化成个更可读的形式,原始json文件jsonTest数据如下:

{"_location":"(32.121,  45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"694666ee-8918-48f8-bb92-0a756a3f1f31","_timestamp":"1496999163163"}
{"_location":"(32.121,  45.262)","_ip":"7.12.1.211","_action":"click button","_uid":"868be529-f59e-4f16-8ea5-08c4612ede9a","_timestamp":"1496999164165"}
{"_location":"(32.121,  45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"49b63380-2a5a-453d-aa5b-57e74cd1a8d7","_timestamp":"1496999165170"}
{"_location":"(32.121,  45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"60fd093a-9f6a-4716-81c6-72a5f07d3b4f","_timestamp":"1496999166171"}
{"_location":"(32.121,  45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"056cf558-56b1-4312-aba1-0b0eb71ba78e","_timestamp":"1496999167172"}
{"_location":"(32.121,  45.262)","_ip":"8.12.1.211","_action":"click button","_uid":"a2ecd34c-5458-43a2-b851-89eb6b3985ae","_timestamp":"1496999168174"}

使用cat jsonTest | jq . 之后的json数据格式如下:

{
  "_timestamp": "1496999163163",
  "_uid": "694666ee-8918-48f8-bb92-0a756a3f1f31",
  "_action": "click button",
  "_ip": "2.12.1.211",
  "_location": "(32.121,  45.262)"
}
{
  "_timestamp": "1496999164165",
  "_uid": "868be529-f59e-4f16-8ea5-08c4612ede9a",
  "_action": "click button",
  "_ip": "7.12.1.211",
  "_location": "(32.121,  45.262)"
}
......

有时需要将格式化的json串作为一行输出,如Hive中的json必须是一行一个json串,如json文件info.json的原始数据如下:

{
        "generated_on": "2017-12-03 08:41:42.057563",
        "slice": "0-999",
        "version": "v1"
}

使用cat info.json | jq -c .可以得到以下数据:

{"version":"v1","slice":"0-999","generated_on":"2017-12-03 08:41:42.057563"}

jq的操作文档可参考https://stedolan.github.io/jq/manual/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值