Index: pylib/simplejson/tool.py |
=================================================================== |
--- pylib/simplejson/tool.py (revision 0) |
+++ pylib/simplejson/tool.py (revision 0) |
@@ -0,0 +1,39 @@ |
+r"""Command-line tool to validate and pretty-print JSON |
+ |
+Usage:: |
+ |
+ $ echo '{"json":"obj"}' | python -m simplejson.tool |
+ { |
+ "json": "obj" |
+ } |
+ $ echo '{ 1.2:3.4}' | python -m simplejson.tool |
+ Expecting property name: line 1 column 2 (char 2) |
+ |
+""" |
+import sys |
+import simplejson as json |
+ |
+def main(): |
+ if len(sys.argv) == 1: |
+ infile = sys.stdin |
+ outfile = sys.stdout |
+ elif len(sys.argv) == 2: |
+ infile = open(sys.argv[1], 'rb') |
+ outfile = sys.stdout |
+ elif len(sys.argv) == 3: |
+ infile = open(sys.argv[1], 'rb') |
+ outfile = open(sys.argv[2], 'wb') |
+ else: |
+ raise SystemExit(sys.argv[0] + " [infile [outfile]]") |
+ try: |
+ obj = json.load(infile, |
+ object_pairs_hook=json.OrderedDict, |
+ use_decimal=True) |
+ except ValueError, e: |
+ raise SystemExit(e) |
+ json.dump(obj, outfile, sort_keys=True, indent=' ', use_decimal=True) |
+ outfile.write('\n') |
+ |
+ |
+if __name__ == '__main__': |
+ main() |