#!/usr/local/bin/node var sys = require("sys"); if ( process.argv.length < 2 || process.argv[2] == "-h" || process.argv[2] == "--help") { sys.print("Usage: json []\n") process.exit(1); } var script = process.argv[2] || "return v;"; var fn = new Function("v", "sys", 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, sys); if (typeof result == "string") { sys.print(result); } else { sys.print(JSON.stringify(result, undefined, 4) + "\n"); } });