日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python解析JSON對象的全過程記錄

瀏覽:16日期:2022-06-24 10:08:06
前言

本章節我們將為大家介紹如何使用 Python 語言來編碼和解碼 JSON 對象。

json處理模塊的主要任務,是將一個JSON對象,轉換成Python數據類型數據進行處理,或者反之,將Python數據類型數據,轉換成JSON對象(字符串流),在不同的模塊或者系統間傳輸。

1. JSON數據格式特點 對象表示為鍵值對 數據由逗號分隔 花括號保存對象 方括號保存數組

{ 'students': [ { 'name':'北山啦' , 'age':20 }, { 'name':'張三' , 'age':30 }, { 'name':'里斯' , 'age':17 } ]}

{’students’: [{’name’: ’北山啦’, ’age’: 20}, {’name’: ’張三’, ’age’: 30}, {’name’: ’里斯’, ’age’: 17}]}

上面就是一個JSON格式數據。它開起來就像是在Python中的字典數據類型。我們可以通過json模塊將它轉換成字符串或者反過來將字符串轉換成字典數據類型。

JSON也支持各種數據類型,它的數據類型和Python各種數據類型之間的對比如下:

object —— dict array —— list string —— str number —— int/float true/false —— True/False null —— None 2. 常用方法總結

在json模塊中,用于處理json的主要是四個函數,分別是:

loads():從JSON字符串中讀取數據并轉換成Python數據類型 load():從JSON文件中讀取數據并轉換成Python數據類型 dumps():將Python數據類型數據轉換成JSON字符串 dump():將Python數據類型數據轉換成JSON字符串寫入到文件 3. 系列化和反系列化

Python解析JSON對象的全過程記錄

從JSON數據轉換到Python數據,叫反系列化(deserialization)

從Python數據轉換到JSON數據,叫系列化(serialization)

3.1 系列化

系列化:將Python數據轉換成JSON字符串的方法。

下面我們先來看一個簡單的例子。

import jsondata = { 'students': [ { 'name':'北山啦' , 'age':20 }, { 'name':'張三' , 'age':30 }, { 'name':'里斯' , 'age':17 } ]}print(type(data))print(data)json_str = json.dumps(data)print(type(json_str))

<class ’dict’>{’students’: [{’name’: ’北山啦’, ’age’: 20}, {’name’: ’張三’, ’age’: 30}, {’name’: ’里斯’, ’age’: 17}]}<class ’str’>

上面的例子中,雖然看起來數據沒有發生變化,但其實它們的數據類型已經發生了本質的改變:將字典數據類型的data,轉換成了str類型,然后我們就可以將這個str類型的數據轉換成流,在網絡上進行傳輸或者寫入到文件等。

import jsondata = { 'students': [ { 'name':'北山啦' , 'age':20 }, { 'name':'張三' , 'age':30 }, { 'name':'里斯' , 'age':17 } ]}print(type(data))print(data)json_str = json.dumps(data, separators=(’>>’,’::’), indent=2)print(json_str)

<class ’dict’>{’students’: [{’name’: ’北山啦’, ’age’: 20}, {’name’: ’張三’, ’age’: 30}, {’name’: ’里斯’, ’age’: 17}]}{ 'students'::[ { 'name'::'u5317u5c71u5566'>> 'age'::20 }>> { 'name'::'u5f20u4e09'>> 'age'::30 }>> { 'name'::'u91ccu65af'>> 'age'::17 } ]}

將data寫入txt文件中

import jsondata = { 'students': [ { 'name':'北山啦' , 'age':20 }, { 'name':'張三' , 'age':30 }, { 'name':'里斯' , 'age':17 } ]}with open('students.txt','w') as fp: json.dump(data, fp, ensure_ascii=False) print('finish')

finish

這樣就將data寫入了students.txt,看看是不是已經將數據寫進去了。

3.2 反系列化

從JSON數據轉換到Python類型數據,叫反系列化。可以通過loads()/load()這兩個方法來完成。

import jsonwith open('students.txt') as fp: data = json.load(fp) '''取出字典key為students的數據, 得到一個list,再從這個list中取第一個數據''' print(data[’students’][0])

{’name’: ’北山啦’, ’age’: 20}

parse_int參數

默認值為None,如果指定了parse_int,用來對JSON int字符串進行解碼,這可以用于為JSON整數使用另一種數據類型或解析器。

parse_int參數,這里我們簡單將其指定為float類型。

import jsonwith open('students.txt') as fp: data = json.load(fp, parse_int = float) print(data)

{’students’: [{’name’: ’北山啦’, ’age’: 20.0}, {’name’: ’張三’, ’age’: 30.0}, {’name’: ’里斯’, ’age’: 17.0}]}

可以看到,age原來是整數類型,通過parse_int已經被轉換成了float類型。

object_hook

默認值為None,object_hook是一個可選函數,此功能可用于實現自定義解碼器。指定一個函數,該函數負責把反序列化后的基本類型對象轉換成自定義類型的對象。

def fromJSON(dct): # 這里會對所有的字典數據類型都進行遍歷 if isinstance(dct, dict) and ’students’ in dct: return dct[’students’] else: return Student(dct[’name’], dct[’age’])import jsonwith open('students.txt') as fp: data = json.load(fp, object_hook=fromJSON) print(data)

[姓名: 北山啦, 年齡: 20, 姓名: 張三, 年齡: 30, 姓名: 里斯, 年齡: 17]

總結

到此這篇關于Python解析JSON對象的文章就介紹到這了,更多相關Python解析JSON對象內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一区免费| 久久激情中文| 日本在线不卡视频一二三区| 中文字幕一区二区精品区| 日韩精品电影一区亚洲| 麻豆精品一区二区综合av| 国产欧美另类| 国产va免费精品观看精品视频| 色爱av综合网| 亚洲欧美日本国产专区一区| 日韩区欧美区| 精品国产乱码久久久久久1区2匹| 婷婷综合六月| 热久久久久久久| 欧美国产专区| 久久亚洲国产| 青草av.久久免费一区| 国产一区2区在线观看| 不卡中文一二三区| 亚洲字幕久久| 日韩成人a**站| 国产韩日影视精品| 欧美伊人久久| 久久国产亚洲| 91亚洲精品视频在线观看 | 日韩免费高清| 免费观看在线色综合| 久久精品毛片| 免费欧美日韩| 国产成人精品福利| 亚洲精品乱码| 一区二区小说| 久久精品国产精品亚洲毛片| 午夜欧美在线| 老司机精品视频网| 免费成人在线影院| 在线天堂资源www在线污| 在线一区视频| 久久久久久色 | 91在线成人| 亚洲天堂黄色| 麻豆国产一区| 老鸭窝亚洲一区二区三区| 麻豆精品99| 亚洲久久在线| 999国产精品999久久久久久| 日韩高清中文字幕一区| 丝袜美腿诱惑一区二区三区 | 欧美+日本+国产+在线a∨观看| 欧美一区二区三区久久| 狠狠久久婷婷| 日韩精品一卡| 九九99久久精品在免费线bt| 中文视频一区| 日韩视频久久| 久久中文视频| 97精品97| 国产精品夜夜夜| 日韩精选在线| 99国产精品久久久久久久成人热| 福利片在线一区二区| 欧美日韩网址| 亚洲影院天堂中文av色| 九九在线精品| av在线日韩| 亚洲欧洲午夜| 免费久久久久久久久| 欧美三区四区| 国产在线不卡一区二区三区| 日韩av一区二区三区四区| 尤物精品在线| 五月天久久777| 亚洲国产专区校园欧美| 日本韩国欧美超级黄在线观看| 免费在线欧美黄色| 国产精品中文字幕制服诱惑| 91嫩草精品| 日本午夜精品视频在线观看| 日本一区中文字幕| 婷婷综合国产| 日韩中文字幕| 日本高清久久| 日本va欧美va瓶| 日韩高清在线不卡| 日韩精品欧美成人高清一区二区| 免费观看日韩电影| 亚洲精品高潮| 日韩精品久久理论片| 亚洲tv在线| 欧美日韩亚洲一区在线观看| 中文字幕一区日韩精品| 亚洲综合图色| 日韩精品亚洲一区二区三区免费| 日韩视频1区| 欧美日韩a区| 国产欧美亚洲精品a| 国产精品网站在线看| 国产精品白丝av嫩草影院| 国产精品蜜月aⅴ在线| 国产精品99久久免费观看| 青青草91久久久久久久久| 国产精品啊v在线| 国产精品乱战久久久| 精品久久影院| 日韩在线观看不卡| 欧美日韩国产观看视频| 亚洲深夜视频| 精品一区亚洲| 亚洲三级国产| 欧美激情综合| 欧美日韩精品免费观看视完整| 欧美~级网站不卡| 蜜臀精品一区二区三区在线观看| 蜜桃视频在线观看一区| 欧美日韩一区二区三区不卡视频| 国产激情欧美| 国产精品xvideos88| 天堂√8在线中文| 久久xxxx| 国产精品2023| 桃色av一区二区| 久久高清免费观看| 国产亚洲一区| 久久精品二区三区| 免费国产自线拍一欧美视频| 91精品尤物| 另类综合日韩欧美亚洲| 99久久夜色精品国产亚洲狼 | 欧美视频二区| 国产成人精品免费视| a日韩av网址| 丝袜亚洲精品中文字幕一区| 国产精品欧美大片| 欧美精品一卡| 麻豆精品国产91久久久久久| 午夜av一区| 久久中文欧美| 久久国产精品久久久久久电车| 国产精品二区影院| 国产精品88久久久久久| 国产精品亚洲二区| 亚洲成人免费| 日本午夜精品一区二区三区电影 | 日韩一区二区三区高清在线观看| 久久影院资源站| 国产精品美女久久久浪潮软件| 你懂的国产精品| 鲁大师影院一区二区三区| 成人在线视频区| 亚欧洲精品视频在线观看| 日韩在线欧美| 欧美日韩精品一区二区三区视频 | 亚洲精品日韩久久| 精品亚洲a∨一区二区三区18| 亚洲综合三区| 日韩在线短视频| 国产精品极品| 在线国产日韩| 天堂资源在线亚洲| 国产精品videosex极品| 亚洲中字黄色| 999国产精品| 国产中文欧美日韩在线| 一区二区亚洲视频| 久久一区二区中文字幕| 国产欧美亚洲一区| 丝袜脚交一区二区| 99精品在线观看| 欧美黄色一区| 亚洲精品综合| 伊人久久亚洲美女图片| 国产日韩电影| 久久精品一区| 国产亚洲高清一区| 亚洲aa在线| 亚洲免费一区二区| 日韩精品一区二区三区免费观影 | 久久国产成人| 久久中文视频| 国产一区精品福利| 国产乱人伦精品一区| 免播放器亚洲一区| 欧美不卡在线| 久久久人人人| 日韩精品91| 日韩欧美不卡| 国产黄大片在线观看| 久久精品国产免费| 国产精品久久久久久模特| 天堂va欧美ⅴa亚洲va一国产| 香蕉精品999视频一区二区| 久久久久国产| 日韩精品专区| 日韩一区二区三区在线免费观看| 老司机精品视频在线播放| 啪啪亚洲精品| 日本午夜精品| 日韩激情网站| 国产三级一区| 欧美精品国产|