Files
js-scripts/scripts/viewjson.js
2025-04-05 16:57:26 +08:00

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();