python3 之 格式化json
import json
json_string = None
with open(“json_file.json”) as f:
json_string = f.read()
try:
parsed_json = json.loads(json_string)
formatted_json = json.dumps(parsed_json, indent = 4,sort_keys=True)
with open(“json_file.json”,“w”) as f:
f.write(formatted_json)
except Exception as e:
print(repr(e))
Parameter indent decides the number of spaces to use for indentation.
Parameter sort_keys decides whether the keys in formatted JSON should be in sorted order or not. Default value is False.
Bonus: You can pretty-print the small JSON string directly at command terminal without using python script file. Use below line of code.
echo ‘{“first_name”: “Anurag”, “last_name”: “rana”}’ | python -m json.tool
示例:
[root@promote ~]# echo ‘{“first_name”: “Anurag”, “last_name”: “rana”}’ | python -m json.tool
{
“first_name”: “Anurag”,
“last_name”: “rana”
}
[root@promote ~]# echo ‘{“first_name”: “Anurag”, “last_name”: “rana”}’ | python -m json.tool
{
“first_name”: “Anurag”,
“last_name”: “rana”
}
root@promote ~]# echo ‘{“job”:“developer”,"name ":"lmx ","sex ":“male”}’ | python -m json.tool
{
“job”: “developer”,
"name ": "lmx ",
"sex ": “male”
}
[root@promote ~]# python -c “import paramiko”
[root@promote ~]# echo ‘{“first_name”: “Anurag”, “last_name”: “rana”}’ | python -m json.tool
{
“first_name”: “Anurag”,
“last_name”: “rana”
}
[root@promote CV]# echo ‘{ “address”:{ “province”:“zhejiang”," city":“hangzhou” }," name":“lmx”, " sex": “male” }’ | python -m json.tool
{
“address”: {
“province”: “zhejiang”,
" city": “hangzhou”
},
" name": “lmx”,
" sex": “male”
}