我使用此代碼打印出更漂亮一些dict
成JSON:漂亮打印JSON轉儲
import json
d = {'a': 'blah', 'b': 'foo', 'c': [1,2,3]}
print json.dumps(d, indent = 2, separators=(',', ': '))
輸出:
{
"a": "blah",
"c": [
1,
2,
3
],
"b": "foo"
}
這是一個有點太多(換行符每個列表元素!)。
我應該使用哪種語法有...
{
"a": "blah",
"c": [1, 2, 3],
"b": "foo"
}
呢?
這不完全是您的問題的答案,但是如果您只是在尋找一種簡單易用的數據格式眼睛,你可以試試YAML。對列表和字典等集合有兩種語法,「塊」(其中縮進顯示嵌套)和「流」(括號用於執行該作業)。默認情況下,PyYAML的輸出對不包含任何其他容器的列表和字典使用「流」語法,這聽起來像你想要的漂亮打印。 – Blckknght
謝謝@Blckknght。YAML是成熟的/穩定的/便攜式的,並且可能在未來幾年/未來版本的Python中可用?它會成爲一個標準嗎? (抱歉,所有這些問題;)) – Basj
另一個評論:我想避免轉換成字符串,因爲當我'加載'我的JSON文件到'Dict',如果它是一個字符串,我沒有訪問了到'列表'(或者我需要解析字符串到列表中,但這是一個恥辱,必須這樣做...) – Basj