Json(JavaScript Object Notation)它是一種輕量級的資料交換格式,具有資料格式簡單,讀取和寫入方便易懂等很多優點。許多主流的程式語言都在用它來進行前後端的資料傳輸,大大的簡化了伺服器和客戶端的開發工作量。相對於XML來說,更的輕量級,更方便解析,因此許多開發者都遵循Json格式來進行資料的傳輸與交換。今天我們詳細介紹一下Python在Json的編解碼方面的知識。
強大的Python提供了一個「json」模組,可以方便的將各種零散的數據透過模組的內建函數編碼形成一個json格式的數據,也可以將一個json格式的資料解碼形成自己需要的數據,非常好用,下面我們就來介紹一下。
json.dumps()
json模組裡的dumps函數是對數據進行編碼,形成json格式的數據,我們看一下下面的例子:
透過輸出的結果很容易看出,透過dumps方法使字典轉換成為了json格式,雖然它們非常相似。其中,在dumps裡的參數“sort_keys=True”,使得輸出json後對key和value進行0~9、a~z的順序排序,如果不填,則按照無序排列。有時候,透過排序可以方便地比較json中的數據,因此,適當的排序是必要的。
此外,「Indent」參數表示縮排的意思,它可以使得輸出的Json看起來更加整齊好看,可讀性更強,例如:
下面列舉dumps()的可填參數:
skipkey:預設為False,當dict物件裡的資料不是Python的基本資料類型;(str,unicode, int,long,float,bool,None)時,當skipkey為False,就會報錯,如果skipkey為True,則可以跳過這類key;
indent:如果填0或不填,則按照一行進行列印,否則按照indent的數值顯示前面的空格(正整數形式);
separators:分隔符,預設為“(',',':')”,它表示key之間用「,」隔開,key和value之間用「:」隔開;
encoding:編碼格式,預設值是UTF-8;
sort_keys:對key、value進行排序,預設值是False,即不排序;
ensure_ascii:預設為True,如果dict物件裡含有none-ASCII的字符,則顯示\uXX的格式,如果為False,則能正常顯示出來;
json.loads()
和dumps相反,loads函數則是將json格式的資料解碼,轉換成Python字典,我們看一下下面的例子:
有時候,輸出結果遇到中文的時候,會出現編碼格式不一樣的情況,顯示出為Unicode的編碼格式,使得不易讀懂,解決方法是加入參數「encoding」參數,即上面的改寫成這樣:d1 = json.loads(data1,encoding='utf-8')即可。
json.dump()和json.load()
#相對於上面所講的dumps和loads來說,dump和load函數的功能類似,只不過前者是用來處理字串類型的,而後者是用來處理檔案類型的,如下所示:
#上例列舉了json的四個方法:dumps()和dump()、loads()和load()的簡單使用方法,可見,Python對於json的處理相當方便,不像c 那樣(誰用誰知道)。
以上是python的json怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。