本文實例講述了Python中json格式數據的編碼與解碼方法。分享給大家供大家參考,具體如下:
python從2.6版本開始內置了json數據格式的處理方法。
1、json格式數據編碼
在python中,json數據格式編碼使用json.dumps方法。
#!/usr/bin/env python#coding=utf8import jsonusers = [{'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18}]#元組對象也可以#users = ({'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18})#輸出[{"age": 22, "name": "tom"}, {"age": 18, "name": "anny"}]print json.dumps(users)其中users可以是元組對象,也可以是列表對象。對象內的元素可以是數字、字符串、元組、列表、None、布爾值。
#!/usr/bin/env python#coding=utf8import jsonrandom = (5, [1, 2], "tom/" is good", (1, 2), 1.5, True, None)#輸出[5, [1, 2], "tom/" is good", [1, 2], 1.5, true, null]print json.dumps(random)
2、json格式數據解碼
在python中json格式數據解碼使用json.loads方法,把上面的例子搬來用:
#!/usr/bin/env python#coding=utf8import jsonrandom = (5, [1, 2], "tom/" is good", (1, 2), 1.5, True, None)jsonObj = json.dumps(random)#輸出[5, [1, 2], u'tom" is good', [1, 2], 1.5, True, None]print json.loads(jsonObj)
這里就是先對一個數據json編碼,然后再將編碼后的數據解碼。照理說,解碼后的數據應當和原先的數據一樣,但是我們發現這里元組對象都被替換成列表對象了。這邊就涉及到python和json互相轉換的數據格式定義了。看下面兩個圖:

python轉成json數據格式定義

json轉成python數據格式定義
從上面兩個圖可以看出python轉換成json的時候,list、tuple都會轉成array,而json轉成python的時候,array就只轉成list了。
備注:上面兩張圖的內容均來源于python官方站點。json的dumps方法和loads方法也還有其他的參數可以使用。
如果需要更深入的使用,可以參考官方手冊:
http://docs.python.org/2/library/json.html?highlight=json#json
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結》、《Python圖片操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答
圖片精選