python json有什么用_为什么要学习用Python解析JSON数据?
“JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基于 ECMAScript (歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。”——《百度百科》
我們在爬取網站的時候,經常會遇到獲取了html卻沒有在標簽里找到數據的情況。這種情況大概率html只是一個框架,而數據是JavaScript腳本從服務器獲取JSON數據后再把數據寫入標簽的。所以我們直接獲取html會找不到需要的數據。解決的方法也不難,使用瀏覽器的開發者模式可以看到網頁對服務器發出的請求,找到獲取數據的請求后模擬該請求即可從服務器獲取JSON數據。獲取JSON數據后即可用json庫轉化為python的數據類型。
JSON庫有4個常用的方法,下面來一一介紹給大家。
json.loads()
該方法是將JSON字符串轉化為python數據類型。
#導入json庫
import json
#定義JSON格式的字符串
json_str = '{"測試": 123}'
#使用loads()將JSON字符串轉化為python數據類型,將會返回{"測試": 123}
json.loads(json_str)
json.dumps()
該方法是將python數據類型轉化為JSON字符串。
#導入json庫
import json
#定義一個字典
dic = {"測試": 123}
#使用dumps()將python字典轉化為JSON字符串,將會返回'{"測試": 123}'
#ensure_ascii參數設置為False時允許有中文
json.dumps(dic, ensure_ascii=False)
json.load()
該方法是將文件中的JSON字符串轉化為python數據類型。
#導入json庫
import json
#定義JSON格式的字符串
json_str = '{"測試": 123}'
#將字符串寫入文件
with open(file, 'w', encoding='utf-8') as f:
f.write(json_str)
#使用load()從文件讀取JSON字符串轉化為python數據類型,將會返回一個字典
with open(file, 'r', encoding='utf-8') as f:
j = json.load(f)
json.dump()
該方法是將python數據類型轉化為JSON字符串后寫入文件。
#導入json庫
import json
#定義一個字典
dic = {"測試": 123}
#使用dump()將python數據類型轉化為JSON字符串后寫入文件,indent參數設置縮進
with open(file, 'w', encoding='utf-8') as f:
json.dump(dic, f, ensure_ascii=False, indent=4)
獲取了字典后,可以逐層遍歷字典item去查看數據所在的位置和關聯的鍵,這樣就能用代碼把數據“揪”出來了。
總結:
1.loads(),dumps()這兩個后面帶s的方法就是跟字符串有關的方法
2.創建JSON格式的字符串時只能用雙引號
3.有中文時需要設置ensure_ascii參數
4.indent參數能設置縮進的空格
往期精彩回顧
往期精彩回顧無需要太多,只需要一張Python詞云圖?mp.weixin.qq.com如何寫出Pythonic的代碼??mp.weixin.qq.com裝飾一下你的Python函數吧~?mp.weixin.qq.com
今天也學到了很多東西呢,明天有什么新知識呢?真期待鴨~如果喜歡文章可以關注我哦~
總結
以上是生活随笔為你收集整理的python json有什么用_为什么要学习用Python解析JSON数据?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx启动不了_nginx 变量与监
- 下一篇: axure能做剪切蒙版吗_卫生间瓷砖不打