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

python標(biāo)準(zhǔn)庫模塊之json庫的基礎(chǔ)用法

 更新時(shí)間:2022年06月27日 10:21:11   作者:王同學(xué)在這  
json庫是處理JSON格式的Python標(biāo)準(zhǔn)庫,json庫主要包括兩類函數(shù),操作函數(shù)和解析函數(shù),下面這篇文章主要給大家介紹了關(guān)于python標(biāo)準(zhǔn)庫模塊之json庫的基礎(chǔ)用法,需要的朋友可以參考下

前言

json,全稱為JavaScript Object Notation,也就是JavaScript對象標(biāo)記,通過對象和數(shù)組的組合表示數(shù)據(jù),雖然構(gòu)造簡潔但是結(jié)構(gòu)化程度非常高,是一種輕量級的數(shù)據(jù)交換格式。

作用

主要用于將python對象編碼為json格式輸出或存儲,以及將json格式對象解碼為python對象。

一個(gè) JSON 對象可以寫為如下形式:

[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小紅",
    "height": "165",
    "age": "20"
}]

由中括號包圍的就相當(dāng)于列表類型,列表中的每個(gè)元素可以是任意類型,這個(gè)示例中它是字典類型,由大括號包圍。

JSON 可以由以上兩種形式自由組合而成,可以無限次嵌套,結(jié)構(gòu)清晰,是數(shù)據(jù)交換的極佳方式。

下面先來了解一下json中l(wèi)oads,和load

loads,load的用法

例如,有一段 JSON 形式的字符串,它是 str 類型,我們用 json.loads轉(zhuǎn)換成python的數(shù)據(jù)結(jié)構(gòu),變成列表或字典,這樣我們就能進(jìn)行操作了。

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小紅",
    "height": "165",
    "age": "20"
}]
'''

# 打印data類型
print(type(data))
# json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù)
new_data = json.loads(data)
# 打印data類型
print(type(new_data))

運(yùn)行結(jié)果如下

這樣來我們就可以用索引獲取對應(yīng)的內(nèi)容了,例如想要獲取第一個(gè)元素里的name屬性,可以使用如下方式:

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小紅",
    "height": "165",
    "age": "20"
}]
'''

# 打印data類型
print(type(data))
# json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù)
new_data = json.loads(data)
# 獲取內(nèi)容
name = new_data[0]['name']
new_name = new_data[0].get('name')
# 打印轉(zhuǎn)換后data類型
print(type(new_data))

print(name)
print(new_name)

運(yùn)行結(jié)果

以上就是loads的用法。

load的用法是把json格式文件,轉(zhuǎn)換成python類型的數(shù)據(jù)。

注意 :load方法操作的是整個(gè)文件對象,這里是將整個(gè)整個(gè)文件對象里面的內(nèi)容轉(zhuǎn)化為json對象。(下圖是文件操作對象)

示例

import json

import json


# load的用法是把json格式文件,轉(zhuǎn)換成python類型的數(shù)據(jù)。

# 構(gòu)建該文件的文件對象
with open('test1.json',encoding='utf-8')as fp:
    # 加載垓文件對象,轉(zhuǎn)換為python類型的數(shù)據(jù)
    pyth_list = json.load(fp)
    print(pyth_list)
    print(type(pyth_list))
    print(type(pyth_list[0]))


需要有一個(gè)文件操作對象運(yùn)行結(jié)果

以上就是loads和load的用法,兩種方法可以在適當(dāng)?shù)膱鼍跋率褂谩?/strong>

dumps,dump的用法

json.dumps()函數(shù),把python類型的數(shù)據(jù)轉(zhuǎn)換成json字符串

json.dump()函數(shù), 把python類型的數(shù)據(jù)以json格式儲存到文件中

dumps函數(shù)

import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小紅",
    "height": "165",
    "age": "20"
}]
'''

# 打印要來data類型
print(type(data))
# json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù)
new_data = json.loads(data)

# 把python類型的數(shù)據(jù)轉(zhuǎn)換成json字符串
lit = json.dumps(new_data)

# 打印轉(zhuǎn)換后data類型
print(type(new_data))

print(type(lit))

運(yùn)行結(jié)果

其實(shí)loads和dumps的用法都是一致的,loads是將json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù),而dumps是將json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù)。相當(dāng)于一個(gè)是編碼一個(gè)是解碼。

dump函數(shù)

把python類型的數(shù)據(jù)以json格式儲存到文件中

import json
import json

data = '''
[{
    "name": "小明",
    "height": "170",
    "age": "18"
}, {
     "name": "小紅",
    "height": "165",
    "age": "20"
}]
'''

# json類型的數(shù)據(jù)轉(zhuǎn)化為python類型的數(shù)據(jù)
new_data = json.loads(data)

# 把python類型的數(shù)據(jù)以json格式儲存到文件中
# 構(gòu)建要寫入文件對象
with open('test1.json','w',encoding='utf-8')as fp:
    # 把python類型的數(shù)據(jù)以json格式儲存到文件中
    json.dump(new_data,fp,ensure_ascii=False)

為了輸出中文,還需要指定參數(shù) ensure_ascii 為 False

儲存文件

結(jié)語

到此這篇關(guān)于python標(biāo)準(zhǔn)庫模塊之json庫的基礎(chǔ)用法的文章就介紹到這了,更多相關(guān)python標(biāo)準(zhǔn)庫模塊json庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

吉木乃县| 集安市| 信宜市| 安远县| 广州市| 卢湾区| 图片| 清水河县| 正镶白旗| 太白县| 金溪县| 普兰县| 突泉县| 奉贤区| 徐水县| 石柱| 二连浩特市| 女性| 博野县| 大宁县| 图木舒克市| 罗田县| 隆昌县| 长乐市| 富裕县| 滦南县| 赤水市| 濮阳县| 六盘水市| 斗六市| 宁远县| 龙口市| 易门县| 大城县| 楚雄市| 海晏县| 莆田市| 尼勒克县| 昌图县| 广安市| 思南县|