ruby-jq

Ruby bindings for jq.

see http://stedolan.github.io/jq/.

Gem Version Build Status

Prerequisites

jq requires the Oniguruma library to provide regex support. To install Oniguruma for your system, please follow the instructions in the jq FAQ.

Installation

Add this line to your application’s Gemfile:

gem 'ruby-jq'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ruby-jq

Using system libraries

By default, ruby-jq downloads and compiles its own version of libjq. If you would like to use your own version of libjq, you can skip this process by passing the --use-system-libraries flag to gem install, or by setting the RUBYJQ_USE_SYSTEM_LIBRARIES env var.

Usage

“by require ‘jq’

src = «EOS [FOO, { BAR: 100, 200 }, 1.23, 1, 2, 3] EOS

jq = JQ(src)

jq.search(‘.[]’) do |value| p value # => “FOO” # => 200] # => 1.23 # => [1, 2, 3] end

p jq.search(‘.[]’)

=> [FOO, 200, 1.23, 1, 2, 3]

jq = JQ(src, parse_json: false)

jq.search(‘.[1].BAR’) do |value| p value # => “[100,200]” end

Query for Hash/Array

“by require ‘jq/extend’

p => 100, ‘BAR’ => [200, 200].jq(‘.BAR[]’)

=> [200, 200]

[FOO, 100, BAR, 200, 200].jq(‘.[3][]’) do |value| p value # => 200 end