python的json中方法及jsonpath模組用法分析
本文例項講述了python的json中方法及jsonpath模組用法。分享給大家供大家參考,具體如下:
什麼是json
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式,它使得人們很容易的進行閱讀和編寫。同時也方便了機器進行解析和生成。適用於進行資料互動的場景,比如網站前臺與後臺之間的資料互動。
json模組中方法的學習
其中類檔案物件的理解:
具有read()或者write()方法的物件就是類檔案物件,比如f = open(“a.txt”,”r”) f就是類檔案物件
具體使用方法:
#json.dumps 實現python型別轉化為json字串 #indent實現換行和空格 #ensure_ascii=False實現讓中文寫入的時候保持為中文 json_str = json.dumps(mydict,indent=2,ensure_ascii=False) #json.loads 實現json字串轉化為python的資料型別 my_dict = json.loads(json_str) #json.dump 實現把python型別寫入類檔案物件 with open("temp.txt","w") as f: json.dump(mydict,f,ensure_ascii=False,indent=2) # json.load 實現類檔案物件中的json字串轉化為python型別 with open("temp.txt","r") as f: my_dict = json.load(f)
jsonpath模組
1. jsonpath介紹
用來解析多層巢狀的json資料;JsonPath 是一種資訊抽取類庫,是從JSON文件中抽取指定資訊的工具,提供多種語言實現版本,包括:Javascript,Python, PHP 和 Java。
2. JsonPath 對於 JSON 來說,相當於 XPath 對於 XML。
安裝方法:pip install jsonpath
官方文件:http://goessner.net/articles/JsonPath
3. JsonPath與XPath語法對比:
Json結構清晰,可讀性高,複雜度低,非常容易匹配,下表中對應了XPath的用法。
XPath | JSONPath | 描述 |
---|---|---|
/ |
$ |
根節點 |
. |
@ |
現行節點 |
取子節點 | ||
n/a | 取父節點,Jsonpath未支援 | |
.. |
就是不管位置,選擇所有符合條件的條件 | |
* |
匹配所有元素節點 | |
n/a | 根據屬性訪問,Json不支援,因為Json是個Key-value遞迴結構,不需要屬性訪問。 | |
[] |
迭代器標示(可以在裡邊做簡單的迭代操作,如陣列下標,根據內容選值等) | |
| | [,] |
支援迭代器中做多選。 |
支援過濾操作. | ||
n/a | () |
支援表示式計算 |
n/a | 分組,JsonPath不支援 |
PS:這裡再為大家推薦幾款比較實用的json線上工具供大家參考使用:
線上JSON程式碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON線上格式化工具:
http://tools.jb51.net/code/jsonformat
線上XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json程式碼線上格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
線上json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相關內容感興趣的讀者可檢視本站專題:《Python操作json技巧總結》、《Python編碼操作技巧總結》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》、《Python入門與進階經典教程》及《Python檔案與目錄操作技巧彙總》
希望本文所述對大家Python程式設計有所幫助。