OLD | NEW |
| (Empty) |
1 r"""Command-line tool to validate and pretty-print JSON | |
2 | |
3 Usage:: | |
4 | |
5 $ echo '{"json":"obj"}' | python -m simplejson.tool | |
6 { | |
7 "json": "obj" | |
8 } | |
9 $ echo '{ 1.2:3.4}' | python -m simplejson.tool | |
10 Expecting property name: line 1 column 2 (char 2) | |
11 | |
12 """ | |
13 import sys | |
14 import simplejson as json | |
15 | |
16 def main(): | |
17 if len(sys.argv) == 1: | |
18 infile = sys.stdin | |
19 outfile = sys.stdout | |
20 elif len(sys.argv) == 2: | |
21 infile = open(sys.argv[1], 'rb') | |
22 outfile = sys.stdout | |
23 elif len(sys.argv) == 3: | |
24 infile = open(sys.argv[1], 'rb') | |
25 outfile = open(sys.argv[2], 'wb') | |
26 else: | |
27 raise SystemExit(sys.argv[0] + " [infile [outfile]]") | |
28 try: | |
29 obj = json.load(infile, | |
30 object_pairs_hook=json.OrderedDict, | |
31 use_decimal=True) | |
32 except ValueError, e: | |
33 raise SystemExit(e) | |
34 json.dump(obj, outfile, sort_keys=True, indent=' ', use_decimal=True) | |
35 outfile.write('\n') | |
36 | |
37 | |
38 if __name__ == '__main__': | |
39 main() | |
OLD | NEW |