Sha256: 6427e986857ae4c08061d0bbe3589d89a3a5dfad8deea036edeee38b905494e0

Contents?: true

Size: 550 Bytes

Versions: 5

Compression:

Stored size: 550 Bytes

Contents

#!/usr/local/env ruby

require 'jsonpath'
require 'multi_json'

def usage
  puts "jsonpath [expression] (file|string)

If you omit the second argument, it will read stdin, assuming one valid JSON object
per line. Expression must be a valid jsonpath expression."
  exit!
end

usage unless ARGV[0]

jsonpath = JsonPath.new(ARGV[0])
case ARGV[1]
when nil #stdin
  puts MultiJson.encode(jsonpath.on(MultiJson.decode(STDIN.read)))
when String
  puts MultiJson.encode(jsonpath.on(MultiJson.decode(File.exist?(ARGV[1]) ? File.read(ARGV[1]) : ARGV[1])))
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jsonpath-0.5.6 bin/jsonpath
jsonpath-0.5.5 bin/jsonpath
jsonpath-0.5.4 bin/jsonpath
jsonpath-0.5.3 bin/jsonpath
jsonpath-0.5.2 bin/jsonpath