Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web服務器和客戶端的通訊的數據格式。現在也常用于http請求中,所以對json的各種學習,是自然而然的事情。Python的官網網址:https://docs.python.org/2/library/json.html?highlight=json#module-json
Json API 使用:python在版本2.6之前,是需要先下載包,安裝后才能使用的,有點類似現在的RF內使用SeleniumLibrary一樣。但是在2.6中,官方文檔(https://docs.python.org/2.6/whatsnew/2.6.html)明顯指出,“有一些重要的新的軟件包添加到了標準庫,比如multiprocessing 和json,但是跟python 3比,2.6的這些包不會引進更多的新功能。"于是安裝python2.6以上版本的童鞋,可以不需要下載json包,直接在所需的地方就import json 即可使用,在安裝目錄下的Lib 下,看到這兩個包(點進去仔細閱讀這些源碼,會有更多的收獲,)如下文所示:
Python2.6 以上版本支持Json的編碼和解碼,支持python的大部分內置類型與Json進行轉換。最簡單的例子如下所示:
>>> import json>>> data = {"spam" : "foo", "parrot" : 42}>>> in_json = json.dumps(data) # Encode the data>>> in_json'{"parrot": 42, "spam": "foo"}'>>> json.loads(in_json) # Decode into a Python object{"spam" : "foo", "parrot" : 42}
Encode過程,是把python對象轉換成json對象的一個過程,常用的兩個函數是dumps和dump函數。兩個函數的唯一區別就是dump把python對象轉換成json對象生成一個fp的文件流,而dumps則是生成了一個字符串:
其他參數的使用都是一樣的。以下是部分學習的代碼片段:
dic1 = {'type':'dic1','username':'loleina','age':16}json_dic1 = json.dumps(dic1)print json_dic1json_dic2 = json.dumps(dic1,sort_keys=True,indent =4,separators=(',', ': '),encoding="gbk",ensure_ascii=True )print json_dic2
運行結果如下所示:
如果把實例中的key'username'的value換成中文的“測試”,則用第一次不加參數轉換則會報錯,但是用第二個加參數的就能正常運行。
實際上就是對函數的參數的一個理解過程,下面列出幾個常用的參數:
Skipkeys:默認值是False,如果dict的keys內的數據不是python的基本類型(str,unicode,int,long,float,bool,None),設置為False時,就會報TypeError的錯誤。此時設置成True,則會跳過這類key
新聞熱點
疑難解答