Python中json格式資料的編碼與解碼方法詳解,pythonjson
本文執行個體講述了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