3 \mã@s>dZddlZddlZddlZddlZdd„Zedkr:eƒdS)aCommand-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 "Cs d}d}tj||d�}|jddtjƒdd�|jddtjd ƒd d�|jd d d dd�|jƒ}|jphtj}|jpttj }|j }|�Vy$|r”t j |ƒ}nt j |t jd�}Wn*tk rÐ}zt|ƒ‚WYdd}~XnXWdQRX|�"t j|||dd�|jdƒWdQRXdS)Nzpython -m json.toolzZA simple command line interface for json module to validate and pretty-print JSON objects.)ÚprogÚ descriptionÚinfileú?z-a JSON file to be validated or pretty-printed)ÚnargsÚtypeÚhelpÚoutfileÚwz%write the output of infile to outfilez --sort-keysÚ store_trueFz5sort the output of dictionaries alphabetically by key)ÚactionÚdefaultr)Zobject_pairs_hooké)Ú sort_keysÚindentÚ )ÚargparseÚArgumentParserÚ add_argumentZFileTypeÚ parse_argsrÚsysÚstdinr ÚstdoutrÚjsonÚloadÚ collectionsÚ OrderedDictÚ ValueErrorÚ SystemExitÚdumpÚwrite) rrÚparserZoptionsrr rÚobjÚe©r$ú!/usr/lib64/python3.6/json/tool.pyÚmains0    $r&Ú__main__)Ú__doc__rrrrr&Ú__name__r$r$r$r%Ú s