五週一次課(11月13日)python
1、json的使用web
Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最普遍的應用是做爲AJAX中web服務器和客戶端的通信的數據格式。如今也經常使用於http請求中,因此對json的各類學習,是天然而然的事情。而咱們將一下咱們平時工做中最經常使用的兩種方式。數據庫
1. json類型和python數據的轉換json
1.1 json.dumps()將python對象編碼轉化成json字符串。服務器
import json m = {'success': True, 'message': 'hello'} json_str = json.dumps(m) print(json_str) print(type(json_str))
結果:ide
{"message": "hello", "success": true} <type 'str'>
解釋:函數
Data是一個python數據字典,最後經過json.dumps()函數把data轉換成字符串的形式。學習
除了字典,python還有不少數據對象,以下列出python對象經過dumps()函數轉換後的對應關係:編碼
Pythonspa |
JSON |
dict |
object |
list, tuple |
array |
str, unicode |
string |
int, long, float |
number |
True |
true |
False |
false |
None |
null |
1.2 json.loads()將json字符串解碼成python對象。
在工做中,不少狀況是別人給你提供的接口就是json字符串形式的。好比:你在數據庫中查到的數據,返回結果是一個json的字符串的形式,這你就須要本身把這些json字符串轉換成json對象。
import json jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}' text = json.loads(jsonData) print text print(type(text))
結果:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4} <type 'dict'>
解釋:
經過json.loads方法把json字符串轉換成python的數據字典。
2 文件和json之間的轉換
2.1 json.dump()
import json jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}' f = open('a.txt', 'w') json.dump(jsonData,f) f.close()
結果:
生成a.txt文件,內容以下:"{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}"
解釋:
json.dump()能夠把json數據直接寫入到文件中。
2.2 json.load()
import json jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}' f = open('a.txt', 'w') json.dump(jsonData, f) f.close() aa = open('a.txt', 'r') dict11 = json.load(aa) print(dict11) print(type(dict11))
結果:
{"a":1,"b":2,"c":3,"d":4,"e":5} <type 'unicode'>
解釋:
json.load()把文件內容轉換成unicode數據類型返回