1. 程式人生 > 實用技巧 >python——json&pickle模組

python——json&pickle模組

(1)json模組的兩種方法 :dumps() 和 loads()

import json

#------dumps()
dic = {'name':'alex'}
s = 'hello'

data1 = json.dumps(dic)
data2 = json.dumps(s)   #dumps()的步驟為: ------>"hello" (先把單引號變成雙引號) -------->'"hello"' (再外面加上單引號)

print(data1,data2)  #此時 data為一個json字串,其特點之一就是 雙引號(呼叫dumps()方法,所有的單引號都會變成雙引號)
print(type(data1)) #---將資料存入磁碟--- f = open('hello','w') dic_str = json.dumps(dic) f.write(dic_str) # dump()方法:dump(dic_str,f) 就相當於做了上述兩步 該方法只適用於檔案操作 f.close() #------loads()---從磁碟中讀取資料------ f_read = open('hello','r') data = json.loads(f_read.read()) #從檔案中讀取資料,並將其還原為 dumps()之前的資料型別 #
load方法: json.load(f_read) 將相當於json.loads(f_read.read()) 即省去了 .read() 該方法只適用於檔案操作 print(data['name']) print(data) print(type(data)) #此時data為字典型別 f_read.close()

(2)

dct='{"1":"111"}'
data = json.loads(dct)
print(data)
print(type(data))

  總結:無論資料是怎樣建立的,只要滿足json格式,就可以json.loads出來,不一定非要dumps的資料才能loads

      再上述程式中 如果dct = ‘{'1':'111'}’ 則會報錯,因為 json 不認單引號