JSON 函數
使用 JSON 函數需要匯入 json 函式庫:import json。
函數 描述
json.dumps 將Python 物件編碼成JSON 字串
json.loads 將已編碼的JSON 字串解碼為Python 物件
json.dumps
語法
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None , encoding="utf-8", default=None, sort_keys=False, **kw)
實例
以下實例將陣列編碼為JSON 格式資料:
#!/usr/bin/python
import json
data = {'number': 6, 'name': 'Pythontab'}
jsonData = json.dumps(data)
print jsonData
登入後複製
以上程式碼執行結果為:
{"number": 6, "name": "Pythontab"}
登入後複製
注意: 大家可能發現,執行上述轉換以後,資料並沒有發生變化,這裡要說一下: 在json中雙引號才是標註的字串分割符號,單引號不標準。
使用參數讓JSON 資料排序並格式化輸出:
#!/usr/bin/python
import json
data = {'number': 6, 'name': 'Pythontab'}
jsonData = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
print jsonData
登入後複製
輸出結果
{
"name": "Pythontab",
"number": 6
}
登入後複製
python 原始類型轉換到json 類型的對照表:
Python | JSON |
---|
#dict | object |
| |
| |
| list, tuple | array
| #str, unicode | string
| int, long, float | number
| True | true
##False
#false
None
null
json.loads
json.loads 用於解碼JSON 資料。此函數傳回 Python 欄位的資料類型。
語法json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[,kw]]]] **kw]]]] ]])實例以下實例展示了Python 如何解碼JSON 物件:#!/usr/bin/python
import json
jsonData = '{"number": 6, "name": "Pythontab"}'
str = json.loads(jsonData)
print str 登入後複製 | 以上程式碼執行結果為:{u'number': 6, u'name': u'Pythontab'} 登入後複製 json 類型轉換到python 的型別對照表: |
|
|
JSON##Python |
|
|
|
|
|
|
|
|
| object
dict |
| #array
list |
| string
unicode
number (int)int, long
number (real)float
trueTrue
false#False
################## #######null######None##################使用第三方函式庫:Demjson######Demjson 是python 的第三方模組庫,可用於編碼和解碼JSON 數據,包含了JSONLint 的格式化及校驗功能。 ######Github 位址:https://github.com/dmeranda/demjson######環境配置######在使用Demjson 編碼或解碼JSON 資料前,我們需要先安裝Demjson 模組。 ######方法1:原始碼安裝######$ tar -xvzf demjson-2.2.4.tar.gz######$ cd demjson-2.2.2.4######$ python setup.py install######方法2:直接使用pip安裝######pip install Demjson######JSON 函數######函數 描述#######encode將Python 物件編碼成JSON 字串######decode 可以使用demjson.decode() 函數解碼JSON 資料。此函數傳回 Python 欄位的資料類型。 ######encode語法######demjson.encode(self, obj, nest_level=0)#########demjson.encode(self, obj, nest_level=0)######decode語法######demjson.decode(self, txt)## ####使用都很簡單,我就不在這裡舉例~~###以上是Python對JSON的解析詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP和Python:解釋了不同的範例
Apr 18, 2025 am 12:26 AM
PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
在PHP和Python之間進行選擇:指南
Apr 18, 2025 am 12:24 AM
PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。
sublime怎麼運行代碼python
Apr 16, 2025 am 08:48 AM
在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。
Python vs. JavaScript:學習曲線和易用性
Apr 16, 2025 am 12:12 AM
Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。
PHP和Python:深入了解他們的歷史
Apr 18, 2025 am 12:25 AM
PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。
Golang vs. Python:性能和可伸縮性
Apr 19, 2025 am 12:18 AM
Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。
vscode在哪寫代碼
Apr 15, 2025 pm 09:54 PM
在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。
notepad 怎麼運行python
Apr 16, 2025 pm 07:33 PM
在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
See all articles