一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

python與json數據得交互詳情

目錄

一 什么是json

json是一種獨立于編程語言和平臺得輕量級數據交換方式。和xml一樣,只是一種數據交換方式,與編程語言沒有依賴關系。各種支持json數據格式得編程語言,都會有對其進行解析得方法。xml和json都用于數據存儲和數據交換,但是現在json越來越流行,用得比xml多。json較xml得優點如下

  • xml需要用xml解析器來進行,而json則不用(主要區別)。
  • json不需要寫標簽,較簡短。
  • json得讀寫速度更快

二 json語法格式

{    "name": "安先生",    "age": "24"}

如上,json數據是以key:value 得形式保存在一對大括號{}中得,多個數據用逗號分隔,和python中得字典非常相像,但是json數據中得key和value全都是用雙引號包起來得。

三 python與json得交互

python中提供了四種與json數據打交道得方法,即json.loads(),json.load(),json.dumps()和json.dump(),下面一一進行介紹。

1. json.loads()

json.loads(): 將json對象轉換為python對象,一般是將字符串轉為python得字典dict。

import jsonjson_data = '{"name": "安先生", "age": "24"}'print(type(json_data))print(json_data)#json.loads()將json對象轉為python對象py_data = json.loads(json_data)print(type(py_data))print(py_data)

輸出:

>>>
<class 'str'>
{"name": "安先生", "age": "24"}
<class 'dict'>
{'name': '安先生', 'age': '24'}

2. json.load()

json.load(): 讀取json文件(解碼)

import jsonjson_data = open('../練習文件/json.json', 'r', encoding='utf-8')print(type(json_data))data = json.load(json_data)print(type(data))print(data)

>>>
<class '_io.TextIOWrapper'>
<class 'dict'>
{'name': '安先生', 'age': '24', 'job': '軟件測試'}

3. json.dumps()

json.dumps(): 將python對象轉為json對象

import jsonpy_data = {"name": "張三", "age": 24, "job": "法外狂徒"}print(type(py_data))print(py_data)#indent控制縮進,ensure_ascii控制編碼json_data = json.dumps(py_data, indent=4, ensure_ascii=False)print(type(json_data))print(json_data)

其中indent參數是控制縮進得,ensure_ascii改變默認編碼(Unicode)

<class 'dict'>{'name': '張三', 'age': 24, 'job': '法外狂徒'}<class 'str'>{    "name": "張三",    "age": 24,    "job": "法外狂徒"}

4. json.dump()

json.dump(): 向json文件寫數據(編碼)

import jsonpy_data = {"name": "張三", "age": 24, "job": "法外狂徒"}#先用json.dumps()將python對象轉為json對象json_data = json.dumps(py_data)with open('../練習文件/json.json', 'w', encoding='utf-8') as f:    json.dump(json_data, f)#讀取數據msg = open('../練習文件/json.json', 'r')msg = json.load(msg)print(msg)

寫入得json文件數據:

可以看到,讀寫得數據和我們想要得不一致,這是因為json.dump()默認寫得是Unicode編碼得數據,中文是不在Unicode編碼中得,所以顯示得時候就不會以中形式顯示,不過可以用json.dump()得ensure_ascii參數來控制,將其設置為False,

如下:

import jsonpy_data = {"name": "張三", "age": "24", "job": "法外狂徒"}#轉換成json對象時,編碼默認為Unicode,ensure_ascii=False 取消默認編碼with open('../練習文件/json.json', 'w', encoding='utf-8') as f:    json.dump(py_data, f, indent=4, ensure_ascii=False,)#讀取數據msg = open('../練習文件/json.json', 'r', encoding='utf-8')msg = json.load(msg)print(msg)

結果如下:

>>>{'name': '張三', 'age': '24', 'job': '法外狂徒'}

到此這篇關于python與json數據得交互詳情得內容就介紹到這了,更多相關python json數據交互內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 精品国产乱码久久久久久图片 | 久久成人一区 | 亚洲乱码一区二区 | 色久电影| 久久久精品视频一区二区三区 | 91嫩草精品| 欧美在线资源 | 久久久久久精 | 亚洲美女网站 | av一级毛片| 精品久久久久久久久久 | 天天草天天 | 草久久| 国产午夜精品一区二区三区四区 | 久久久成人精品 | 欧美精品一区二区三区在线 | 久久精品亚洲一区二区三区浴池 | 中文字幕一区二区三区不卡在线 | 日本免费黄色一级片 | 亚洲一区视频在线播放 | 9久久婷婷国产综合精品性色 | 精品久久久久久久久久久院品网 | 免费毛片在线 | 亚洲综合热 | 日韩激情视频一区 | 欧美一区二区三区一在线观看 | 4h影视| 午夜激情网 | 免费黄色在线观看 | 久久精品福利视频 | 欧美色专区 | 精品国模一区二区三区欧美 | 欧美一级网站 | 亚洲欧洲在线视频 | 欧美一区二区 | 久久精品一区二区三区四区 | 免费福利视频一区二区三区 | 欧美日韩免费 | 在线综合视频 | 亚洲v日韩v综合v精品v | 成人a免费|