day14-json

一紙青塵染流年發表於2020-10-20

“”“author:Orange “””

json

1.什麼是json

json是一種資料格式; 幾乎所有的高階語言都支援這種資料格式的處理
所以json主要用於不同語言之間的資料交流

2.json格式

json格式的要求: 1) 一個json有且只有一個資料
2) 唯一的這個資料必須是json支援的資料型別的資料

json支援的資料型別:
1) 數字型別(Number) -   所有數字對應的型別,表示的時候直接寫,例如:100-10012.33e4
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格式的字串