38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
#! /usr/bin/env runjs
|
|
|
|
var argsEx = require('component-args.js');
|
|
|
|
var System = java.lang.System;
|
|
var FastJSON = Packages.com.alibaba.fastjson.JSON;
|
|
var RStream = Packages.me.hatter.tools.commons.io.RStream;
|
|
|
|
var main = () => {
|
|
var args = argsEx.parseDefARGs(['h', 'help', 'n']);
|
|
if (args.flg('h', 'help')) {
|
|
println('viewjson.js [FLAGS] [FILENAME]');
|
|
println(' -h, --help Print help');
|
|
println(' -n Do not print new line at last')
|
|
return;
|
|
}
|
|
var json = null;
|
|
if (args.length < 1) {
|
|
json = RStream.from(System.in).string();
|
|
} else {
|
|
var j = $$.file(args[0]);
|
|
if (!(j.exists())) {
|
|
xprintln('[ERROR] File not exists: ' + j);
|
|
return;
|
|
}
|
|
json = $$.rFile(j).string();
|
|
}
|
|
|
|
try {
|
|
var formatedJSON = FastJSON.toJSONString($$.parseJSON(json), true).replaceAll('\t', ' ');
|
|
if (args.flg('n')) { print(formatedJSON) } else { println(formatedJSON); }
|
|
} catch (e) {
|
|
xprintln('[ERROR] Parse JSON failed.');
|
|
}
|
|
};
|
|
|
|
main();
|