/Lib/json/tool.py
http://unladen-swallow.googlecode.com/ · Python · 37 lines · 33 code · 0 blank · 4 comment · 0 complexity · 7452d9e1f25ae5ff7dddac85808b83b1 MD5 · raw file
- r"""Command-line tool to validate and pretty-print JSON
- Usage::
- $ echo '{"json":"obj"}' | python -mjson.tool
- {
- "json": "obj"
- }
- $ echo '{ 1.2:3.4}' | python -mjson.tool
- Expecting property name: line 1 column 2 (char 2)
- """
- import sys
- import 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("{0} [infile [outfile]]".format(sys.argv[0]))
- try:
- obj = json.load(infile)
- except ValueError, e:
- raise SystemExit(e)
- json.dump(obj, outfile, sort_keys=True, indent=4)
- outfile.write('\n')
- if __name__ == '__main__':
- main()