首頁  >  文章  >  後端開發  >  Python中json格式資料的編碼與解碼

Python中json格式資料的編碼與解碼

高洛峰
高洛峰原創
2017-03-01 13:15:081325瀏覽

本文實例講述了Python中json格式資料的編碼與解碼方法。分享給大家供大家參考,具體如下:

python從2.6版本開始內建了json資料格式的處理方法。

1、json格式資料編碼

在python中,json資料格式編碼使用json.dumps方法。

#!/usr/bin/env python
#coding=utf8
import json
users = [{'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=utf8
import json
random = (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=utf8
import json
random = (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格式資料的編碼與解碼

python轉成json資料格式定義

Python中json格式資料的編碼與解碼

json轉成python資料格式定義

從上面兩張圖可以看出python轉換成json的時候,list、tuple都會轉成array,而json轉成python的時候,array就只轉成list了。

備註:上面兩張圖的內容皆來自python官方網站。 json的dumps方法和loads方法也還有其他的參數可以使用。

更多Python中json格式資料的編碼與解碼相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn