1. 程式人生 > >python中json模組使用

python中json模組使用

通過Python的json模組,可以將字串形式的json資料轉化為字典,也可以將Python中的字典資料轉化為字串形式的json資料。

1、json字串轉為字典

json.load / json.loads

兩個方法功能類似,可選引數也相同,最大的區別在於,json.load方法接受的輸入,即第一個引數,是包含json資料的檔案物件,如open方法的返回物件,

json.loads接受的輸入是json字串,而非檔案物件。從輸入型別的區別也可以看出兩者的使用場合。

可選引數包括是否需要轉換整型、浮點型等數值的引數,還有一些複雜的功能,暫時沒有用到,以後有機會再瞭解。

2、字典轉換為json

json.dump / json.dumps

對應於load和loads,dump的第一個引數是物件字典,第二個引數是檔案物件,可以直接將轉換後的json資料寫入檔案,dumps的第一個引數是物件字典,其餘都是可選引數。dump和dumps的可選引數相同,這些引數都相當實用,現將用到的引數記錄如下:

ensure_ascii 預設為True,保證轉換後的json字串中全部是ascii字元,非ascii字元都會被轉義。如果資料中存在中文或其他非ascii字元,最好將ensure_ascii設定為False,保證輸出結果正常。

indent 縮排,預設為None,沒有縮排,設定為正整數時,輸出的格式將按照indent指定的半形空格數縮排,相當實用。

separators 設定分隔符,預設的分隔符是(',', ': '),如果需要自定義json中的分隔符,例如調整冒號前後的空格數,可以按照(item_separator, key_separator)的形式設定。

sort_keys 預設為False,設為True時,輸出結果將按照字典中的key排序。