json.dumps與json.dump的區別 ,json.loads與json.load的區別

json.dumps是將一個Python數據類型列表進行json格式的編碼解析, 示例以下:python

>>> import json #導入python 中的json模塊
>>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #建立一個l列表
>>> encoded_json = json.dumps(l) # 將l列表,進行json格式化編碼
>>> print repr(l)
>>> print encoded_json #輸出結果

這樣咱們就將一個list列表對象,進行了json格式的編碼轉換。json

解碼python json格式,能夠用這個模塊的json.loads()函數的解析方法, 示例以下:函數

>>> decode_json = json.loads(encoded_json)
>>> print type(decode_json) #查看一下解碼後的對象類型
>>> print decode_json #輸出結果

將python json格式解碼成Python數據風格編碼

json.dump和json.dumps很不一樣,json.dump主要用來json文件讀寫,和json.load函數配合使用。 json.dump(x,f),x是對象,f是一個文件對象,這個方法能夠將json字符串寫入到文本文件中。code

import json
data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
data2 = json.dumps(data)
print(data2)
f = open('./tt.txt','a')
json.dump(data2,f)

這樣就生成了一個tt.txt文件,保存了json格式的數據。dumps還提供pritty print,格式化的輸出。對象

json.load加載json格式文件 下面是從txt文件中讀取了json數據。ip

f = open('./tt.txt','r')
hehe = json.load(f)
print(hehe)

若是你要處理的是文件而不是字符串,你可使用json.dump()和json.load()來編碼和解碼JSON數據。例如:字符串

# Writing JSON data
with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

總結:string

1.loads: 是將string轉換爲dict 2.dumps: 是將dict轉換爲string 3.load: 是將裏json格式字符串轉化爲dict,讀取文件 4.dump: 是將dict類型轉換爲json格式字符串,存入文件it

相關文章
相關標籤/搜索