
-c`m                 @   sY   d  Z  d d l Z d d l Z d d l Z d d l Z d d   Z e d k rU e   d S)a  Command-line tool to validate and pretty-print JSON

Usage::

    $ echo '{"json":"obj"}' | python -m json.tool
    {
        "json": "obj"
    }
    $ echo '{ 1.2:3.4}' | python -m json.tool
    Expecting property name enclosed in double quotes: line 1 column 3 (char 2)

    Nc        	   #   C   sz  d }  d } t  j d |  d |  } | j d d d d t  j   d	 d
 | j d d d d t  j d  d	 d | j d d d d d d	 d | j   } | j p t j } | j p t j	 } | j
 } | m y4 | r t j |  } n t j | d t j } Wn1 t k
 r7} z t |   WYd  d  } ~ Xn XWd  QRX| . t j | | d | d d | j d  Wd  QRXd  S)Nzpython -m json.toolzZA simple command line interface for json module to validate and pretty-print JSON objects.progdescriptioninfilenargs?typehelpz-a JSON file to be validated or pretty-printedoutfilewz%write the output of infile to outfilez--sort-keysaction
store_truedefaultFz5sort the output of dictionaries alphabetically by keyZobject_pairs_hook	sort_keysindent   
)argparseArgumentParseradd_argumentZFileType
parse_argsr   sysstdinr	   stdoutr   jsonloadcollectionsOrderedDict
ValueError
SystemExitdumpwrite)	r   r   parserZoptionsr   r	   r   obje r$   /usr/lib/python3.5/json/tool.pymain   s0    !	&r&   __main__)__doc__r   r   r   r   r&   __name__r$   r$   r$   r%   <module>   s   