JSON簡介
JSON(全稱JavaScript Object Notation) 是一種輕量級的數據交換格式。百度有詳細的解釋,這裏就不詳細copy了。
度娘一下,你就知道JSON
JSON數據和Python數據對應關係表
JSON類型 | Python類型 |
---|---|
object | dict |
array | list,tuple |
string | str |
int,float… | number(int) |
true | True |
false | False |
null | None |
json模塊
json模塊是Python自帶處理json數據的模塊
用到以下4個方法
方法 | 用途 |
---|---|
dumps | 將對象轉爲json格式 |
loads | 將json格式轉爲對象 |
dump | 將對象轉爲json格式保存到文件 |
load | 從文件中讀取json字符串轉爲內存中對象 |
- dumps()
將對象轉成json字符串
import json
obj_dict = {'name': '小明', 'age': 12}
json_dict = json.dumps(obj_dict)
print(json_dict)
可以看到字典被轉成了json格式字符串
- loads()
json字符串轉爲對象
import json
obj_dict = {'name': '小明', 'age': 12}
json_dict = json.dumps(obj_dict)
print(json_dict)
obj_dict = json.loads(json_dict)
print(obj_dict)
- dump()
將對象轉成json字符串保存到文件
import json
obj_dict = {'name': '小明', 'age': 12}
flag = False
try:
savefile = open('json', 'w')
json.dump(obj_dict, savefile)
flag = True
except:
print('保存到文件失敗')
finally:
if flag:
savefile.close()
運行代碼,將在當前路徑下生成json文件,裏面就是json格式化的字符串
- load()
從文件中讀取json字符串轉爲內存中對象
import json
obj_dict = {'name': '小明', 'age': 12}
flag = False
try:
savefile = open('json', 'w')
json.dump(obj_dict, savefile)
flag = True
except:
print('保存到文件失敗')
finally:
if flag:
savefile.close()
flag = False
obj_dict = {}
try:
jsonfile = open('json', 'r')
obj_dict = json.load(jsonfile)
print(obj_dict)
flag = True
except:
print('從文件中讀取json字符串失敗')
finally:
if flag:
jsonfile.close()
運行代碼成功後,將在控制檯打印文件中的json字符串
讀取複雜json
{
"age": 10,
"class": [
"語言",
"數學",
"英語"
],
"gender": true,
"name": "小明"
}
import json
jsonfile = open('json', 'r', encoding='utf-8')
obj_dict = json.load(jsonfile)
print(obj_dict)
print(obj_dict['age'])
obj_list = obj_dict['class']
for clz in obj_list:
print(clz)
print(obj_dict['gender'])
print(obj_dict['name'])