Properties

Last built 1 month ago using go version go1.7.5 linux/amd64 and 38 seconds of time

Downloads
Filename
File Size
 
jiq_master_darwin-386.zip
33KiB
jiq_master_darwin-amd64.zip
29KiB
jiq_master_linux-386.zip
33KiB
jiq_master_linux-amd64.zip
29KiB
jiq_master_linux-arm.zip
31KiB
jiq_master_windows-386.zip
33KiB
jiq_master_windows-amd64.zip
29KiB
Project-Readme for this version

jiq

It’s jid with jq.

You can drill down interactively by using jq filtering queries.

jiq uses jq internally, and it requires you to have jq in your PATH.

Demo

screencast-repo.gif

screencast-packagejson.gif

Installation

You can either download a binary (a single file!) from here or build jiq command by yourself with go get:

go get github.com/fiatjaf/jiq/cmd/jiq

If you don’t have jq installed, follow instructions at https://stedolan.github.io/jq/download/ and make sure to put it in your PATH.

Usage

Quick start

simple example

Execute the following command:

echo '{"aa":"2AA2","bb":{"aaa":[123,"cccc",[1,2]],"c":321}}'| jiq

Then jiq will be running. Now you can dig JSON data incrementally.

When you enter .bb.aaa[2], you will see the following.

[Filter]> .bb.aaa[2]
[
  1,
  2
]

If you press Enter now it will output

[
  1,
  2
]

and exit (if you want all the output in a single line you can either call jiq -c or pipe it into jq as jiq | jq -c .).

advanced usage examples

If you have ever used jq, you’ll be familiar with these:

echo '{"economists": [{"id": 1, "name": "menger"}, {"id": 2, "name": "mises"}, {"name": "hayek", "id": 3}]}' | jiq

Now try writing .economists | "\(.[0].name), \(.[1].name) and \(.[2].name) are economists." or [.economists.[].id], or even .economists | map({key: "\(.id)", value: .name}) | from_entries

with curl

Sample for using RDAP data.

curl -s http://rdg.afilias.info/rdap/domain/example.info | jiq

command line arguments

-q : print the jq filter instead of the resulting filtered JSON to stdout (if you plan to use this with jq later)

Plus all the arguments jq accepts – they will affect both the JSON output inside jiq and the output that is printed to stdout (beware that some may cause bugs).