JSON是什麼?
- JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱讀和編寫。
- JSON 是輕量級的文本數據交換格式
- JSON 獨立於語言 *
- JSON 具有自我描述性,更易理解
* JSON 使用 JavaScript 語法來描述數據對象,但是 JSON 仍然獨立於語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。
import json
json.load() # 將一個存儲在文件中的json對象(str)轉化爲相對應的python對象
json.loads() # 將一個json對象(str)轉化爲相對應的python對象
json.dump() # 將python的對象轉化爲對應的json對象(str),並存放在文件中
json.dumps() # 將python的對象轉化爲對應的json對象(str)
#加不加s區別主要在於 例如爬取網頁時往往返回的不是一個.json的文件寫在硬盤 而是直接在內存中 此時需要使用加s的json 而讀取硬盤的本地數據不需要加s
import json
number = [2,3,4,5,6]
filename = 'D:\\numtest.json' #關於python中文件的路徑 win原生的單\是不行的 / // \\ 都是可以的
with open(filename,'w') as f_obj:
json.dump(number,f_obj)
可以看到我們創建了一個json文件
import json
filename = 'D:\\numtest.json'
with open(filename,) as f_obj:
num = json.load(f_obj)
print(num)
我們可以看到我們讀取了json文件
用vs打開
我們來結合異常處理 寫一個模擬用戶登錄的場景
import json
filename = 'D://user.json'
try:
with open(filename) as obj:
username = json.load(obj)
except FileNotFoundError:
username = input('what is your name?')
with open(filename,'w') as obj:
json.dump(username,obj)
print('get your name --- ' + username)
else :
print('welcome , ' + username)