環境:python3
1、前言:
在做數據採集的過程中,我們經常遇到json格式的數據,如有道翻譯就是json格式的數據。
在使用requests庫進行請求時,我們可以直接使用json()方法,將字符串格式的json數據轉化爲字典格式,然後利用字典的鍵-值索引和列表索引配合使用解析json數據或者使用get()方法和列表索引解析。
在使用urllib庫進行請求時,我們使用json.loads(...)方法,將字符串格式的json數據轉化爲字典格式,然後利用字典的鍵-值索引和列表索引配合使用解析json數據或者使用get()方法和列表索引解析。
2、解析json的方法案例
import json
jsonString = '{"arrayOfNuns":[{"nunber":0},{"number":1},{"number":2}],\
"arrayOfFruits":[{"fruit":"apple"},{"fruit":"banana"},\
{"fruit":"pear"}]}'
json0bj=json.loads(jsonString)
print(type(json0bj)) #返回:<class 'dict'>
print(json0bj.get("arrayOfNuns")) #輸出:[{'nunber': 0}, {'number': 1}, {'nunber': 2}]
print(json0bj["arrayOfNuns"]) #輸出:[{'nunber': 0}, {'number': 1}, {'nunber': 2}]
print(json0bj.get('arrayOfNuns')[1]) #輸出:{'number': 1}
print(json0bj["arrayOfNuns"][1]) #輸出:{'number': 1}
print(json0bj.get('arrayOfNuns')[1].get('number')\
+json0bj.get('arrayOfNuns')[2].get('number')) #輸出:3
print(json0bj['arrayOfNuns'][1]['number']\
+json0bj['arrayOfNuns'][2]['number']) #輸出:3
print(json0bj.get('arrayOfFruits')[2].get('fruit')) #輸出:pear
print(json0bj['arrayOfFruits'][2]['fruit']) #輸出:pear