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

python與json數據的交互詳情

 更新時間:2022年07月21日 10:21:32   作者:搬磚,贊路費  
這篇文章主要介紹了python與json數據的交互詳情,json是一種獨立于編程語言和平臺的輕量級數據交換方式,更多相關內容介紹,需要的朋友可以參考一下

一 什么是json

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

  • xml需要用xml解析器來進行,而json則不用(主要區(qū)別)。
  • 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 json

json_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 json

json_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 json

py_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 json

py_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 json

py_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數據交互內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python基于面向對象做一個文件夾整理工具

    Python基于面向對象做一個文件夾整理工具

    這篇文章主要給大家介紹了Python基于面向對象做一個文件夾整理工具,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • Python實現(xiàn)圖片指定位置加圖片水?。ǜ絇yinstaller打包exe)

    Python實現(xiàn)圖片指定位置加圖片水?。ǜ絇yinstaller打包exe)

    這篇文章主要介紹了Python實現(xiàn)圖片指定位置加圖片水印,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • python多線程如何獲取有序結果

    python多線程如何獲取有序結果

    在Python中,多線程編程是一個常見需求,尤其是在處理I/O密集型任務時,然而,多線程環(huán)境下保持任務執(zhí)行結果的順序通常較為復雜,為了解決這一問題,可以通過封裝一個功能來確保即使在多線程環(huán)境下,任務的執(zhí)行結果也能按照一定的順序進行收集和處理
    2024-09-09
  • 使用Python的SymPy庫解決數學運算問題的方法

    使用Python的SymPy庫解決數學運算問題的方法

    這篇文章主要介紹了使用Python的SymPy庫解決數學運算問題的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • python?實時獲取kafka消費隊列信息示例詳解

    python?實時獲取kafka消費隊列信息示例詳解

    這篇文章主要介紹了python實時獲取kafka消費隊列信息,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Python 高級變量之字典和字符串詳解

    Python 高級變量之字典和字符串詳解

    這篇文章主要為大家介紹了Python 字典和字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • import?sklearn報錯正確安裝sklearn的解決方法

    import?sklearn報錯正確安裝sklearn的解決方法

    這篇文章主要介紹了import?sklearn報錯正確安裝sklearn的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • python制作一個簡單的gui 數據庫查詢界面

    python制作一個簡單的gui 數據庫查詢界面

    這篇文章主要介紹了python制作一個簡單的gui 數據庫查詢界面,幫助大家更好的理解和學習python tkinter的使用,感興趣的朋友可以了解下
    2020-11-11
  • Python學習之日志模塊詳解

    Python學習之日志模塊詳解

    說到日志,我們完全可以想象為現(xiàn)實生活中的日記。日記是我們平時記錄我們生活中點點滴滴的一種方法,而日志我們可以認為是 程序的日記 ,程序的日記是用來記錄程序的行為。本文將詳細介紹Python中的日志模塊(logging),需要的可以參考一下
    2022-03-03
  • 使用Python開發(fā)SQLite代理服務器的方法

    使用Python開發(fā)SQLite代理服務器的方法

    今天小編就為大家分享一篇使用Python開發(fā)SQLite代理服務器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

广东省| 哈密市| 富顺县| 固镇县| 容城县| 封开县| 满城县| 锦州市| 延庆县| 乌审旗| 连南| 庄河市| 新绛县| 皋兰县| 独山县| 墨玉县| 偃师市| 淮南市| 家居| 中方县| 台北市| 申扎县| 涿鹿县| 定结县| 广昌县| 永平县| 循化| 湖北省| 涿州市| 简阳市| 察雅县| 尼勒克县| 遵义市| 江都市| 桐城市| 连云港市| 资源县| 焉耆| 盘锦市| 巴彦淖尔市| 眉山市|