格式化輸出
轉載地址 https://blog.csdn.net/real_tino/article/details/76422634
問題分析:
Python下json手法的json在打印查看時,括號和數據都沒有展開,查看起來比較困難
解決方案:
使用json.dumps的separators設置,將數據展開格式化打印
解決步驟:
data = json.dumps(data, sort_keys=True, indent=4, separators=(‘, ‘, ‘: ‘))
data={ "msgBody":{ "data": { "imgType": "", "imgURL": "image url", "imgLike": 0.5 } }, "msgHead":{ "Token": "", "Code": "", "rmsg": "你好", } } import json data_1=json.dumps(data, sort_keys=True, indent=4, separators=(',', ':'),ensure_ascii=False) print(json.dumps(data, sort_keys=True, indent=4, separators=(',', ':')))
打印結果
{ "msgBody":{ "data":{ "imgLike":0.5, "imgType":"", "imgURL":"image url" } }, "msgHead":{ "Code":"", "Token":"", "rmsg":"\u4f60\u597d" } }
然而,這里中文顯示有些問題
中文顯示
https://blog.csdn.net/smj811504083/article/details/51889751
添加ensure_ascii=False 這個參數,就是上面的 data_1
打印結果顯示:
{ "msgBody":{ "data":{ "imgLike":0.5, "imgType":"", "imgURL":"image url" } }, "msgHead":{ "Code":"", "Token":"", "rmsg":"你好" } }
我們來對這幾個參數進行下解釋:
sort_keys:是否按照字典排序(a-z)輸出,True代表是,False代表否。
indent=4:設置縮進格數,一般由於Linux的習慣,這里會設置為4。
separators:設置分隔符,在dic = {'a': 1, 'b': 2, 'c': 3}這行代碼里可以看到冒號和逗號后面都帶了個空格,這也是因為Python的默認格式也是如此,如果不想后面帶有空格輸出,那就可以設置成separators=(',', ':'),如果想保持原樣,可以寫成separators=(', ', ': ')
ensure_ascii=False :是否顯示ascii這個碼,默認是ture,改為False 即可