python json 函式的使用,dumps;loads;dump;load
阿新 • • 發佈:2018-11-19
python json 函式的使用dumps;loads;dump;load
使用JSON函式需要匯入json庫:import json
json.dumps 將 Python 物件編碼成 JSON 字串
json.loads 將已編碼的 JSON 字串解碼為 Python 物件
import json
#python 字典型轉換為JSON物件
data = {
"type": "create",
"username": "007",
"password": "032475c0fa1cc0b91a5",
"createTime": "2018-11-17 10:20:10.771" ,
"name":"王根",
"status": "1",
"text": "zjesjoge收到貨的時刻"
}
json_str = json.dumps(data)
#避免出現輸出的json資料出現Unicode碼 ensure_ascii=False
#indent=數字 ,用於縮排
json_best = json.dumps(data, ensure_ascii=False,indent=2)
print("原始資料: ",repr(data))
print("JSON 物件: ",json_str)
print("JSON2 物件: ",json_best)
data2 = json.loads(json_str)
print("data2['name']:",data2['name'])
print("data2['text']:",data2['text'])
輸出結果
原始資料:
{'type': 'create', 'username': '007', 'password': '48875c0fa1cc0113b91a5', 'createTime': '2017-07-17 14:00:10.771', 'name': '王根', 'status': '1', 'text': 'zjesjoge收到貨的時刻'}
JSON 物件:
{"type": "create" , "username": "007", "password": "48875c0fa1cc0113b91a5", "createTime": "2017-07-17 14:00:10.771", "name": "\u738b\u6839", "status": "1", "text": "zjesjoge\u6536\u5230\u8d27\u7684\u65f6\u523b"}
JSON2 物件: {
"type": "create",
"username": "007",
"password": "48875c0fa1cc0113b91a5",
"createTime": "2017-07-17 14:00:10.771",
"name": "王根",
"status": "1",
"text": "zjesjoge收到貨的時刻"
}
data2['name']: 王根
data2['text']: zjesjoge收到貨的時刻
[Finished in 0.1s]
如果你要處理的是檔案而不是字串,
你可以使用 json.dump() 和 json.load() 來編碼和解碼JSON資料
#內建函式open(file, mode='r')開啟檔案,關閉檔案close()
#寫入 JSON 資料
with open('data.json', 'w') as f:
json.dump(data,f,ensure_ascii=False)
#讀取資料
with open('data.json', 'r') as f:
s2 = json.load(f)
print (s2)
#練習
import json
name = input("請輸入你的名字")
phone = input("請輸入你的電話號碼")
data = json.dumps({"name":name,
"phone":phone}, ensure_ascii = False, indent=4)
print (data)