day14-json
“”“author:Orange “””
json
1.什麼是json
json是一種資料格式; 幾乎所有的高階語言都支援這種資料格式的處理
所以json主要用於不同語言之間的資料交流
2.json格式
json格式的要求: 1) 一個json有且只有一個資料
2) 唯一的這個資料必須是json支援的資料型別的資料
json支援的資料型別:
1) 數字型別(Number) - 所有數字對應的型別,表示的時候直接寫,例如:100,-100,12.3,3e4
2) 字串(string) - 用""引起來的字符集,例如:"abx", "\u4099"
3) 布林(boolean) - 只有true和false兩個值
4) 陣列(array) - 相當於列表
5) 字典(dictionary) - 相當於字典(dict), 但是key只能是字串("")
6) 空值 - null, 相當於python中None
3.json資料和python資料的相互轉換
python中提供了一個json模組, 專門用來提供處理json資料相關的函式
1) json資料轉python資料
json -> python
數字 int/float
字串 字串(可能會將雙引號變成單引號)
boolean 布林(首字母變大寫)
陣列 列表(元素也會進行相應的轉換)
字典 字典(元素也會轉換)
null None
json.loads(json格式的字串) - 將json格式字串轉換成對應的python資料
json格式的字串:
"""
# path = 'https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gb18030&word=lanarain&fr=ala&ala=1&alatpl=adress&pos=0&hs=2&xthttps=111111'
# response = requests.get(path)
# result = json.loads(response.text)
# for x in result['newslist']:
# print(x['title'])
# result1 = json.dumps(x['picUrl'])
# print(result1)
with open('./test/data.json', encoding='utf-8') as f:
data = json.loads(f.read())
for x in data['newslist']:
print(x['picUrl'])
2) python資料轉換成json資料
python -> json
int 數字
float 數字
字串 字串(引號會變成雙引號)
布林 布林(True -> true; False -> false)
列表、元組 陣列(元素也會自動轉換)
字典 字典(key全部會自動變成字串)
None null
json.dumps(python資料) - 將指定的python資料裝換成json格式的字串