Python3內(nèi)置模塊之json編解碼方法小結【推薦】
Python3中我們利用內(nèi)置模塊 json 解碼和編碼 JSON對象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(廢棄了RFC 4627)和 ECMA-404是一種輕量級數(shù)據(jù)交換格式,受 JavaScript對象文字語法的啟發(fā) (雖然它不是JavaScript 1的嚴格子集)。下面為Python對象-->JSON對象的對照關系表。
dumps編碼
我們利用 dumps 將Python對象編碼為 JSON對象 ,當然 dumps 只完成了序列化為str,而 dump 必須傳文件描述符,將序列化的str保存到文件中,它們的函數(shù)定義為
dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
編碼字典
import json D = {'one': 1, 'two': 2, 'three': 3} J = json.dumps(D) print(J)
示例結果:
{"one": 1, "two": 2, "three": 3}
編碼列表
import json L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, ''] J = json.dumps(L) print(J)
示例結果:
[1, "Python ", {"one": 1, "two": 2, "three": 3}, ""]
編碼
import json S = 'Python' J = json.dumps(S) print(J)
示例結果:
"Python"
格式化輸出JSON
import json L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, True] J = json.dumps(L, sort_keys=True, indent=4) print(J)
示例結果:
[
1,
"Python ",
{
"one": 1,
"three": 3,
"two": 2
},
true
]
loads解碼
我們利用 loads 用于解碼 JSON對象 。解碼結果即與之對應的 Python對象 類型。當然 loads 只完成了反序列化, load 只接收文件描述符,完成讀取文件和反序列化。它們的函數(shù)定義為
loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
比如我們用來解碼上個示例的數(shù)據(jù)
import json jsondata = ''' [ 1, "Python ", { "one": 1, "three": 3, "two": 2 }, true ] ''' J = json.loads(jsondata) print(type(J)) print(J)
示例結果:
<class 'list'>
[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]
可以看到我們成功對上個例子中的JSON對象進行了解碼,并且最終的解碼結果為Python列表對象類型,符合Python對象-JSON對象對照表的結果。
總結
以上所述是小編給大家介紹的Python3內(nèi)置模塊之json編解碼方法小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
Matlab讀取excel并利用拉依達準則篩選數(shù)據(jù)的全過程
在Excel中錄入好數(shù)據(jù)以后經(jīng)常需要被matlab讀取,具體該如何讀取并進行篩選呢?下面這篇文章就來給大家介紹了關于Matlab讀取excel并利用拉依達準則篩選數(shù)據(jù)的相關資料,需要的朋友可以參考下2021-08-08wxPython中wx.gird.Gird添加按鈕的實現(xiàn)
本文主要介紹了wxPython中wx.gird.Gird添加按鈕的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03Django高級編程之自定義Field實現(xiàn)多語言
這篇文章主要介紹了Django高級編程之自定義Field實現(xiàn)多語言,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07python數(shù)據(jù)分析基礎之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹
我們經(jīng)常在尋找數(shù)據(jù)的某行或者某列的時常用到Pandas中的兩種方法iloc和loc,兩種方法都接收兩個參數(shù),第一個參數(shù)是行的范圍,第二個參數(shù)是列的范圍,這篇文章主要介紹了python數(shù)據(jù)分析基礎之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別,需要的朋友可以參考下2024-07-07