Python Json模塊中dumps、loads、dump、load函數介紹
阿新 • • 發佈:2018-07-09
port imp with open 字符串 方法 ngs spa san key
1、json.dumps()
json.dumps()用於將dict類型的數據轉成str,因為如果直接將dict類型的數據寫入json文件中會發生報錯,因此在將數據寫入時需要用到該函數。
import json name = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} jsDumps = json.dumps(name) print(name,‘類型為:%s‘%type(name)) print(jsDumps,‘類型為:%s‘%type(jsDumps))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘> {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 類型為:<class ‘str‘>
2、json.dump()
json.dump()用於將dict類型的數據轉成str,並寫入到json文件中。下面兩種方法都可以將數據寫入json文件
import json nameList = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} fileName = (‘./namejson.json‘) # 方法 1 #現將字典轉為字符串,在寫入文件中 jsObj = json.dumps(nameList) with open(fileName, "w",encoding=‘utf-8‘) as f:
f.write(jsObj)
f.close()
# 方法 2 # 直接寫入文件中 格式:json.dump(字典或列表,打開文件,ensure_ascii=False) 關閉ascii轉碼
json.dump(nameList, open(fileName, "w",encoding=‘utf-8‘),ensure_ascii=False)
3、json.loads()
json.loads()用於將str類型的數據轉成dict。
import json name = {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} jsDumps = json.dumps(name) jsLoads = json.loads(jsDumps) print(name,‘類型為:%s‘%type(name)) print(jsDumps,‘類型為:%s‘%type(jsDumps)) print(jsLoads,‘類型為:%s‘%type(jsLoads))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘> {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 類型為:<class ‘str‘> {‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} 類型為:<class ‘dict‘>
4、json.load()
json.load()用於從json文件中讀取數據。
import json emb_filename = (‘./emb_json.json‘) jsObj = json.load(open(emb_filename)) print(jsObj) print(type(jsObj)) for key in jsObj.keys(): print(‘key: %s value: %s‘ % (key, jsObj.get(key)))
結果為
{‘a‘: ‘zhangsan‘, ‘b‘: ‘lisi‘, ‘c‘: ‘mawu‘, ‘d‘: ‘zhaoliu‘} <class ‘dict‘> key: a value: zhangsan key: b value: lisi key: c value: mawu key: d value: zhaoliu
Python Json模塊中dumps、loads、dump、load函數介紹