FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[Original HTTPS Page]
cpython/Lib/json/tool.py at 3.5 · python/cpython · GitHub
python
cpython
Repository navigation
Code
Issues
5k+
(5k+)
Pull requests
2.7k
(2.7k)
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Lib
/
json
/
tool.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
50 lines (42 loc) · 1.61 KB
Breadcrumbs
cpython
/
Lib
/
json
/
tool.py
Copy path
File metadata and controls
50 lines (42 loc) · 1.61 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
r"""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)
"""
import
argparse
import
collections
import
json
import
sys
def
main
():
prog
=
'python -m json.tool'
description
=
(
'A simple command line interface for json module '
'to validate and pretty-print JSON objects.'
)
parser
=
argparse
.
ArgumentParser
(
prog
=
prog
,
description
=
description
)
parser
.
add_argument
(
'infile'
,
nargs
=
'?'
,
type
=
argparse
.
FileType
(),
help
=
'a JSON file to be validated or pretty-printed'
)
parser
.
add_argument
(
'outfile'
,
nargs
=
'?'
,
type
=
argparse
.
FileType
(
'w'
),
help
=
'write the output of infile to outfile'
)
parser
.
add_argument
(
'--sort-keys'
,
action
=
'store_true'
,
default
=
False
,
help
=
'sort the output of dictionaries alphabetically by key'
)
options
=
parser
.
parse_args
()
infile
=
options
.
infile
or
sys
.
stdin
outfile
=
options
.
outfile
or
sys
.
stdout
sort_keys
=
options
.
sort_keys
with
infile
:
try
:
if
sort_keys
:
obj
=
json
.
load
(
infile
)
else
:
obj
=
json
.
load
(
infile
,
object_pairs_hook
=
collections
.
OrderedDict
)
except
ValueError
as
e
:
raise
SystemExit
(
e
)
with
outfile
:
json
.
dump
(
obj
,
outfile
,
sort_keys
=
sort_keys
,
indent
=
4
)
outfile
.
write
(
'
\n
'
)
if
__name__
==
'__main__'
:
main
()
Back
|
FazBrowse Home
|
New Git URL