#!/usr/local/bin/node var util = require("util"); if ( process.argv.length < 2 || process.argv[2] == "-h" || process.argv[2] == "--help") { util.print("Usage: json []\n") process.exit(1); } var script = process.argv[2] || "return v;"; var fn = new Function("v", "util", script); var stdin = process.openStdin(); stdin.setEncoding('utf8'); var stdInBuf=[]; stdin.addListener('data', function (chunk) { stdInBuf.push(chunk) }); stdin.addListener('end', function() { var data = JSON.parse(stdInBuf.join("")); var result = fn.call(data, data, util); if (typeof result !== "object") { util.print(result); } else { util.print(JSON.stringify(result, undefined, 4) + "\n"); } });