最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Python的json字符串與json模塊解讀

 更新時(shí)間:2023年07月03日 08:37:21   作者:灰勒塔德  
這篇文章主要介紹了關(guān)于Python的json字符串與json模塊解讀,JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類(lèi)似于C語(yǔ)言家族的習(xí)慣(包括C,?C++,?C#,?Java,?JavaScript,?Perl,?Python等),這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言,需要的朋友可以參考下

1.json簡(jiǎn)介:

JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。 易于人閱讀和編寫(xiě)。同時(shí)也易于機(jī)器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。

JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類(lèi)似于C語(yǔ)言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。

JSON建構(gòu)于兩種結(jié)構(gòu),一是“名稱/值”對(duì)的集合(Acollectionofname/valuepairs)。不同的語(yǔ)言中,它被理解為對(duì)象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hashtable),有鍵列表(keyedlist),或者關(guān)聯(lián)數(shù)組(associativearray)。

二是值的有序列表(Anorderedlistofvalues)。在大部分語(yǔ)言中,它被理解為數(shù)組(array)。

2.json對(duì)象

語(yǔ)法格式:

json對(duì)象必須在花括號(hào)里面,對(duì)象可以包括多個(gè)鍵值對(duì),但是跟字典是不一樣的,json中的字符串必須用雙引號(hào),而Python對(duì)象的字典可以單引號(hào)也可以雙引號(hào)

示例:

#json字符串
#json字符串只要是字符串類(lèi)型的都必須用雙引號(hào)
{"韓信":"刺客","李白":666,"李信":"A級(jí)刮痧師","宮本武藏":123}
#json數(shù)組
#外面必須要有花括號(hào)括起來(lái)
{
    "writer":[
        {"name":"泰戈?duì)?,"country":"India"},
        {"name":"魯迅","country":"China"},
        {"name":"奧斯特洛夫斯基","country":"Russia"}
    ]
}

json對(duì)象與Python對(duì)象對(duì)比

JSONPython
objectdict
arraylist
stringstr
number (integer)int
number (real)float
trueTrue
falseFalse
nullNone

這里我們可以看出,json字符串與Python的字典非常相似,但是也有不同(上面講了),所以一般情況下json字符串和Python對(duì)象之間的轉(zhuǎn)換是json字符串和字典直接的轉(zhuǎn)換

3.json模塊

json模塊只有4種方法:分別是dump、dumps、load、loads,下面我會(huì)一一介紹。

json模塊的作用:

1.把Python對(duì)象轉(zhuǎn)換為json字符串

2.把json字符串轉(zhuǎn)換為Python對(duì)象

導(dǎo)入模塊

import json

(1)json.dumps() 函數(shù)

格式:

json.dumps(data,indent,sort_key)

參數(shù)說(shuō)明:data是表示Python中的數(shù)據(jù)對(duì)象,indent是表示格式化空格的數(shù)量,sort_key是表示是否進(jìn)行由小到大排序(布爾變量),如果填入True就表示是,如果天False或者不填就表示否

作用:把Python對(duì)象轉(zhuǎn)換為json字符串

示例:

import json
di={'name':'Jack','age':19,'gander':'male'}
print(di,type(di))
a=json.dumps(di) #獲取json字符串對(duì)象
print(a,type(a))
#輸出結(jié)果:{'name': 'Jack', 'age': 19, 'gander': 'male'} <class 'dict'>
#         {"name": "Jack", "age": 19, "gander": "male"} <class 'str'>
import json
di={5:'Jack',2:'Petter',3:'John',1:'Tom',4:'Amy'}
print(di,type(di))
a=json.dumps(di,sort_keys=True) #獲取json字符串對(duì)象
print(a,type(a))
#輸出結(jié)果:{5: 'Jack', 2: 'Petter', 3: 'John', 1: 'Tom', 4: 'Amy'} <class 'dict'>
#         {"1": "Tom", "2": "Petter", "3": "John", "4": "Amy", "5": "Jack"} <class 'str'>

(2)json.dump() 函數(shù)

格式:

json.dump(data,fp,indent)

參數(shù)說(shuō)明:data是表示Python對(duì)象或者json對(duì)象,fp是表示文件,indent是表示輸出格式化(空格的數(shù)量)

作用:這個(gè)函數(shù)是吧一個(gè)data數(shù)據(jù)轉(zhuǎn)換為json字符串,然后再寫(xiě)入fp文件中(如果data是Python對(duì)象,那么就會(huì)轉(zhuǎn)換為json字符串;如果本身就是json字符串,那結(jié)果還是json字符串)

示例1:

import json
di={5:'Jack',2:'Petter',3:'John',1:'Tom',4:'Amy'}
with open('kk.json','w',encoding='utf8') as f:
    json.dump(di,f)
    #其實(shí)這種寫(xiě)法等效于f.write(json.dumps(data))
#結(jié)果會(huì)生成一個(gè)json文件,其中就有寫(xiě)入的數(shù)據(jù)

這里可以看出寫(xiě)入的數(shù)據(jù)并不是很好看,沒(méi)有那種格式化效果

示例2:(設(shè)置indent格式化寫(xiě)入)

import json
di={5:'Jack',2:'Petter',3:'John',1:'Tom',4:'Amy'}
with open('kk.json','w',encoding='utf8') as f:
    json.dump(di,f,indent=4)

這看上去就舒服多了,所以呢,我們寫(xiě)入文件的時(shí)候可以適當(dāng)設(shè)置格式化,增強(qiáng)文件的可讀性。

(3)json.loads() 函數(shù)

格式:

json.loads(jsondata)

參數(shù)說(shuō)明:jsondata是表示json對(duì)象

作用:把json字符串轉(zhuǎn)換為Python對(duì)象(一般是字典)

示例1:

import json
jsonstr='{"name":"Jack","age":18,"gander":"male","alive":true}'
pythondict=json.loads(jsonstr)
print(pythondict,type(pythondict))
#輸出結(jié)果:{'name': 'Jack', 'age': 18, 'gander': 'male', 'alive': True} <class 'dict'>

示例2:

import json
jsonstr='["a","b","c",{"name":"jack","alive":true}]'
pythondict=json.loads(jsonstr)
print(pythondict,type(pythondict))
#輸出結(jié)果:['a', 'b', 'c', {'name': 'jack', 'alive': True}] <class 'list'>

(4)json.load() 函數(shù)

格式:

json.load(fp)

參數(shù)說(shuō)明:fp是表示json文件

作用:從文件讀取數(shù)據(jù)然后轉(zhuǎn)換為Python對(duì)象(其實(shí)就跟json.dump反過(guò)來(lái)就是了),然后返回這個(gè)對(duì)象

示例:

json文件的內(nèi)容

import json
with open('kk.json','r',encoding='utf8') as f:
    pythondata=json.load(f)
    #等效于 pythondata=f.read()
print(pythondata,type(pythondata))
#輸出結(jié)果:{'5': 'Jack', '2': 'Petter', '3': 'John', '1': 'Tom', '4': 'Amy'} <class 'dict'>

4.總結(jié):

方法功能
ison.dump(obj, fp)將python數(shù)據(jù)類(lèi)型轉(zhuǎn)換并保存到j(luò)son格式的文件內(nèi).
json.dumps(obj)將python數(shù)據(jù)類(lèi)型轉(zhuǎn)換為json格式的字符串。
json.load(fp)從ison格式的文件中讀取數(shù)據(jù)并轉(zhuǎn)換為python的類(lèi)型
json.loads(s)將json格式的字符串轉(zhuǎn)換為python的類(lèi)型

到此這篇關(guān)于關(guān)于Python的json字符串與json模塊解讀的文章就介紹到這了,更多相關(guān)Python的json模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中WebService客戶端接口調(diào)用及身份驗(yàn)證的問(wèn)題

    Python中WebService客戶端接口調(diào)用及身份驗(yàn)證的問(wèn)題

    這篇文章主要介紹了Python中WebService客戶端接口調(diào)用及身份驗(yàn)證的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 微信小程序python用戶認(rèn)證的實(shí)現(xiàn)

    微信小程序python用戶認(rèn)證的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序python用戶認(rèn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 手把手教你使用TensorFlow2實(shí)現(xiàn)RNN

    手把手教你使用TensorFlow2實(shí)現(xiàn)RNN

    本文主要介紹了TensorFlow2實(shí)現(xiàn)RNN,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Django 自動(dòng)生成api接口文檔教程

    Django 自動(dòng)生成api接口文檔教程

    今天小編就為大家分享一篇Django 自動(dòng)生成api接口文檔教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python實(shí)現(xiàn)圖片九宮格分割的示例

    python實(shí)現(xiàn)圖片九宮格分割的示例

    這篇文章主要介紹了python實(shí)現(xiàn)圖片九宮格分割的示例,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2021-04-04
  • Android分包MultiDex策略詳解

    Android分包MultiDex策略詳解

    這篇文章主要介紹了Android分包MultiDex策略詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Python pass語(yǔ)句作用和Python assert斷言函數(shù)的用法

    Python pass語(yǔ)句作用和Python assert斷言函數(shù)的用法

    這篇文章主要介紹了Python pass語(yǔ)句作用和Python assert斷言函數(shù)的用法,文章內(nèi)容介紹詳細(xì)具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-03-03
  • 利用Python循環(huán)(包括while&for)各種打印九九乘法表的實(shí)例

    利用Python循環(huán)(包括while&for)各種打印九九乘法表的實(shí)例

    下面小編就為大家?guī)?lái)一篇利用Python循環(huán)(包括while&for)各種打印九九乘法表的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望對(duì)大家有所幫助
    2017-11-11
  • python requests使用socks5的例子

    python requests使用socks5的例子

    今天小編就為大家分享一篇python requests使用socks5的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python與mysql數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn)

    python與mysql數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn)

    這篇文章主要介紹了python與mysql數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評(píng)論

大方县| 莱西市| 西乌| 郯城县| 新巴尔虎左旗| 西和县| 花莲市| 彭阳县| 满洲里市| 万载县| 察隅县| 石棉县| 和林格尔县| 兴宁市| 嘉祥县| 讷河市| 太和县| 巴东县| 平塘县| 青河县| 亚东县| 恩平市| 阿拉善盟| 读书| 邓州市| 卢氏县| 西乡县| 滨海县| 中卫市| 宜兴市| 曲靖市| 文水县| 政和县| 丁青县| 化德县| 广丰县| 西贡区| 宣威市| 吴旗县| 临漳县| 蓬莱市|