python中json格式數(shù)據(jù)的編碼和解碼python從2.6版本開始內(nèi)置了json數(shù)據(jù)格式的處理方法。 1、json格式數(shù)據(jù)編碼 在python中,json數(shù)據(jù)格式編碼使用json.dumps方法。 6 | users = [{ 'name' : 'tom' , 'age' : 22 }, { 'name' : 'anny' , 'age' : 18 }] |
11 | print json.dumps(users) |
其中users可以是元組對象,也可以是列表對象。對象內(nèi)的元素可以是數(shù)字、字符串、元組、列表、None、布爾值。 6 | random = ( 5 , [ 1 , 2 ], "tom\" is good" , ( 1 , 2 ), 1.5 , True , None ) |
8 | print json.dumps(random) |
2、json格式數(shù)據(jù)解碼 在python中json格式數(shù)據(jù)解碼使用json.loads方法,把上面的例子搬來用: 6 | random = ( 5 , [ 1 , 2 ], "tom\" is good" , ( 1 , 2 ), 1.5 , True , None ) |
7 | jsonObj = json.dumps(random) |
10 | print json.loads(jsonObj) |
這里就是先對一個(gè)數(shù)據(jù)json編碼,然后再將編碼后的數(shù)據(jù)解碼。照理說,解碼后的數(shù)據(jù)應(yīng)當(dāng)和原先的數(shù)據(jù)一樣,但是我們發(fā)現(xiàn)這里元組對象都被替換成列表對象了。這邊就涉及到python和json互相轉(zhuǎn)換的數(shù)據(jù)格式定義了??聪旅鎯蓚€(gè)圖:  python轉(zhuǎn)成json數(shù)據(jù)格式定義  json轉(zhuǎn)成python數(shù)據(jù)格式定義 從上面兩個(gè)圖可以看出python轉(zhuǎn)換成json的時(shí)候,list、tuple都會轉(zhuǎn)成array,而json轉(zhuǎn)成python的時(shí)候,array就只轉(zhuǎn)成list了。 備注:上面兩張圖的內(nèi)容均來源于python官方站點(diǎn)。json的dumps方法和loads方法也還有其他的參數(shù)可以使用,如果需要更深入的使用,可以參考官方手冊:http://docs./2/library/json.html?highlight=json#json
|