diff --git a/bin/jsonidx b/bin/jsonidx new file mode 100755 index 0000000..df025a4 --- /dev/null +++ b/bin/jsonidx @@ -0,0 +1,14 @@ +#!/usr/bin/env luajit + +local json = require 'cjson' + +local input = assert(json.decode(io.stdin:read("a*"))) + +for i, chain in ipairs{...} do + local current = input + for index in chain:gmatch("[^.]+") do + index = tonumber(index) or index + current = type(current)=="table" and current[index] or nil + end + print(json.encode(current)) +end