Python Json模組中dumps、loads、dump、load函數介紹

來源:互聯網
上載者:User

標籤:取資料   結果   print   write   檔案   san   value   utf-8   json模組   

1、json.dumps()

 json.dumps()用於將dict類型的資料轉成str,因為如果直接將dict類型的資料寫入json檔案中會發生報錯,因此在將資料寫入時需要用到該函數。

import jsonname = {‘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 jsonnameList = {‘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 jsonname = {‘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 jsonemb_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: zhangsankey: b  value: lisikey: c  value: mawukey: d  value: zhaoliu

 

Python Json模組中dumps、loads、dump、load函數介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.