1. 程式人生 > >python json 函式的使用,dumps;loads;dump;load

python json 函式的使用,dumps;loads;dump;load

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)

參考:https://www.runoob.com/python3/python3-json.html