symbian-qemu-0.9.1-12/python-2.6.1/Lib/json/tool.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 r"""Command-line tool to validate and pretty-print JSON
       
     2 
       
     3 Usage::
       
     4 
       
     5     $ echo '{"json":"obj"}' | python -mjson.tool
       
     6     {
       
     7         "json": "obj"
       
     8     }
       
     9     $ echo '{ 1.2:3.4}' | python -mjson.tool
       
    10     Expecting property name: line 1 column 2 (char 2)
       
    11 
       
    12 """
       
    13 import sys
       
    14 import 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("{0} [infile [outfile]]".format(sys.argv[0]))
       
    28     try:
       
    29         obj = json.load(infile)
       
    30     except ValueError, e:
       
    31         raise SystemExit(e)
       
    32     json.dump(obj, outfile, sort_keys=True, indent=4)
       
    33     outfile.write('\n')
       
    34 
       
    35 
       
    36 if __name__ == '__main__':
       
    37     main()