python字典和JSON格式的轉(zhuǎn)換方式
python字典和JSON格式的轉(zhuǎn)換
首先引入 import json
>>> d = {'s':'you','d':'are'} ? #給一個(gè)字典 >>> j = json.dumps(d) >>> type(j) str ? #已經(jīng)轉(zhuǎn)化為json字符串 >>> d1 = json.loads(j) >>> type(d1) dic ?#已經(jīng)將json字符串轉(zhuǎn)化為字典了
python字典和JSON格式的轉(zhuǎn)換
字典鍵的特性
字典值可以沒有限制地取任何 python 對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的,但鍵不行。
字典的重點(diǎn)特性
(1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,如下實(shí)例:
(2) 鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),所以用列表就不行,如下實(shí)例:
json 結(jié)構(gòu)
dict1={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
上次簡(jiǎn)述了嵌套字典的遍歷。由上例可見是字典dict1 嵌套字典{‘year’:‘1996’,‘url’ :‘www/baidu.com’,‘score’:[20,30,40]},那么如果是list 嵌套字典由會(huì)是 什么結(jié)果呢?
list_dict=[{'java':'aaa'},{'python':'bbbb'}] list_dict1=[{'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}] list_dict2={'java':[{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}]}
這種數(shù)據(jù)格式又成json格式。
JSON是Java Script Object Notation的縮寫,對(duì)象表示是一種以有組織且簡(jiǎn)單的方式存儲(chǔ)信息的方式。在瀏覽器和服務(wù)器之間交換數(shù)據(jù)時(shí),數(shù)據(jù)必須是文本形式。
json不是 java script。它是一個(gè)由文本組成的腳本,用于以人和機(jī)器可讀的格式存儲(chǔ)和傳輸數(shù)據(jù)。它是一種受JavaScript啟發(fā)的小型、輕量級(jí)數(shù)據(jù)格式,通常用于文本或字符串格式。一包JSON幾乎與一本Python字典相同。
Python 通過內(nèi)置的JSON包,實(shí)現(xiàn)Python數(shù)據(jù)類型和json字符串的轉(zhuǎn)換。
#**只需的引入JSON包即可使用,無需額外下載** import json
JSON庫(kù)可以從字符串或文件解析JSON。它還可以將JSON解析為Python字典或列表,反之亦然。
解析通常分兩個(gè)階段進(jìn)行:
- 1.從JSON到Python的轉(zhuǎn)換
- 2.從Python到JSON的轉(zhuǎn)換
JSON到Python的轉(zhuǎn)換:
使用 ***json.loads()***將JSON字符串轉(zhuǎn)換為Python。
由實(shí)例可知JSON轉(zhuǎn)換為Python的具體數(shù)據(jù)類型由json的格式類型決定,可以試試list,也可以是dict
Python到JSON的轉(zhuǎn)換:
Python對(duì)象可以使用**json.dump()**轉(zhuǎn)換為JSON字符串
json格式數(shù)據(jù)的應(yīng)用在互聯(lián)網(wǎng)公司較為常見,尤其是json的轉(zhuǎn)換與json的解析。下次將淺談使用python 腳本解析json的方式以及json的序列化
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python、 Pycharm、Django安裝詳細(xì)教程(圖文)
這篇文章主要介紹了Python、 Pycharm、Django安裝詳細(xì)教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04python3.7.2 tkinter entry框限定輸入數(shù)字的操作
這篇文章主要介紹了python3.7.2 tkinter entry框限定輸入數(shù)字的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Elasticsearches之python使用及Django與Flask集成示例
這篇文章主要為大家介紹了Elasticsearches之python使用及Django與Flask集成示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Python中用format函數(shù)格式化字符串的用法
這篇文章主要介紹了Python中用format函數(shù)格式化字符串的用法,格式化字符串是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),本文主要針對(duì)Python2.7.x版本,需要的朋友可以參考下2015-04-04Python爬蟲:將headers請(qǐng)求頭字符串轉(zhuǎn)為字典的方法
今天小編就為大家分享一篇Python爬蟲:將headers請(qǐng)求頭字符串轉(zhuǎn)為字典的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08