日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python json模塊與jsonpath模塊區別詳解

瀏覽:24日期:2022-08-03 17:40:29

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它使得人們很容易的進行閱讀和編寫。同時也方便了機器進行解析和生成。適用于進行數據交互的場景,比如網站前臺與后臺之間的數據交互。

JSON和XML相比較可謂不相上下。

Python 3.X中自帶了JSON模塊,直接import json就可以使用了。

官方文檔:http://docs.python.org/library/json.html

Json在線解析網站:http://www.json.cn/

JSON

json簡單來說就是JavaScript中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種復雜的結構。

對象:對象在js中表示為{ }括起來的內容,數據結構為{key1: value1, key2:value2, ...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是數字、字符串、數組、對象。

數組:數組在js中是[ ]括起來的內容,數據結構為[’Python’, ‘JavaScript’, ’C++’, ...],取值方式和所有語言一樣,使用索引獲取,字段值的類型可以是數字、字符串、數組、對象。

json模塊

json模塊提供了四個功能:dumps、dump、loads、load,用于字符串和Python數據類型間進行轉換。

1.json.dumps()

實現Python類型轉化為Json字符串,返回一個str對象,從Python到Json的類型轉換對照如下:

Python Json dict object list, tuple array str, utf-8 string int, float number True true False false None null 

#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = ’mayi’ import json listStr = [1, 2, 3, 4]tupleStr = (1, 2, 3, 4)dictStr = {'city': '北京', 'name': '螞蟻'} print(json.dumps(listStr))# [1, 2, 3, 4] print(type(json.dumps(listStr)))# <class ’str’> print(json.dumps(tupleStr))# [1, 2, 3, 4] print(type(json.dumps(tupleStr)))# <class ’str’> # 注意:json.dumps() 序列化時默認使用的ascii編碼# 添加參數 ensure_ascii=False 禁用ascii編碼,按utf-8編碼print(json.dumps(dictStr, ensure_ascii = False))# {'city': '北京', 'name': '螞蟻'} print(type(json.dumps(dictStr, ensure_ascii = False)))# <class ’str’>

2.json.dump()

將Python內置類型序列化為Json對象后寫入文件

#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = ’mayi’import jsonlistStr = [{'city': '北京'}, {'name': '螞蟻'}]json.dump(listStr, open('listStr.json', 'w', encoding = 'utf-8'), ensure_ascii = False) dictStr = {'city': '北京', 'name': '螞蟻'}json.dump(dictStr, open('dictStr.json', 'w', encoding = 'utf-8'), ensure_ascii = False)

3.json.loads()

把Json格式字符串解碼轉換成Python對象,從Json到Python的類型轉換對照如下:

Json Python object dict array list string utf-8 number(int) int number(real) float true True false False null None

#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = ’mayi’ import json strList = ’[1, 2, 3, 4]’ strDict = ’{'city': '北京', 'name': '螞蟻'}’ print(json.loads(strList))# [1, 2, 3, 4] # json數據自動按utf-8存儲print(json.loads(strDict))# {’city’: ’北京’, ’name’: ’螞蟻’}

4.json.load()

讀取文件中Json形式的字符串,轉換成Python類型

#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = ’mayi’import jsonstrList = json.load(open('listStr.json', 'r', encoding = 'utf-8'))print(strList)# [{’city’: ’北京’}, {’name’: ’螞蟻’}] strDict = json.load(open('dictStr.json', 'r', encoding = 'utf-8'))print(strDict)# {’city’: ’北京’, ’name’: ’螞蟻’}

JsonPath

JsonPath是一種信息抽取類庫,是從JSON文檔中抽取指定信息的工具,提供多種語言實現版本,包括:JavaScript、Python、PHP和Java。

JsonPath對于JSON來說,相當于XPATH對于XML。

下載地址:https://pypi.python.org/pypi/jsonpath

安裝方法:下載后解壓之后執行 python setup.py install

官方文檔:http://goessner.net/articles/JsonPath

JsonPath與XPath語法對比:

JsonPath結構清晰,可讀性高,復雜度低,非常容易匹配,下表中對應了XPath的用法。

Xpath JSONPath 描述 / $ 根節點 . @ 現行節點 / . or [] 取子節點 .. n/a 取父節點,Jsonpath未支持 // .. 不管位置,選擇所有符合條件的節點 * * 匹配所有元素節點 @ n/a 根據屬性訪問,JsonPath不支持 [] [] 迭代器(可以在里邊做簡單的迭代操作,如數組下標,根據內容選值等) | [,] 支持迭代器中做多選 [] ?() 支持過濾操作 n/a () 支持表達式計算 () n/a 分組,JsonPath不支持

示例:

以拉勾網城市JSON文件:http://www.lagou.com/lbs/getAllCitySearchLabels.json 為例,獲取所有的城市名稱。

#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = ’mayi’ import urllib.requestimport jsonimport jsonpath # 拉勾網城市JSON文件url = ’http://www.lagou.com/lbs/getAllCitySearchLabels.json’# User-Agent頭header = {’User-Agent’:’Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36’} # url 連同 headers,一起構造Request請求,這個請求將附帶 chrome 瀏覽器的User-Agentrequest = urllib.request.Request(url, headers = header) # 向服務器發送這個請求response = urllib.request.urlopen(request) # 獲取頁面內容:byteshtml = response.read() # 轉碼:bytes轉strhtml = html.decode('utf-8') # 把json格式字符串轉換成python對象obj = json.loads(html) # 從根節點開始,匹配name節點city_list = jsonpath.jsonpath(obj, ’$..name’) # 打印獲取的name節點print(city_list)# 打印其類型print(type(city_list)) # 寫入本地磁盤文件with open('city.json', 'w', encoding = 'utf-8') as f: content = json.dumps(city_list, ensure_ascii = False) f.write(content)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品极品少妇16p| 免费日韩av| 欧美日韩精品一区二区三区在线观看| 国产免费成人| 日韩精品视频一区二区三区| 日本不卡视频在线观看| 久久精品 人人爱| 午夜视频一区二区在线观看| 亚洲ab电影| 欧美视频久久| 国产精久久久| 国产一区二区三区免费在线| 高清av一区| 欧美精品高清| 久久高清免费| 亚洲综合二区| 日韩精品免费一区二区夜夜嗨 | 日本va欧美va精品| 免费人成网站在线观看欧美高清| 美国三级日本三级久久99 | 免费一二一二在线视频| 神马日本精品| 91高清一区| 亚洲色图网站| 国产精品国产三级在线观看| 日韩av在线播放网址| 日韩在线不卡| 亚洲免费播放| 日韩1区2区日韩1区2区| 久久97久久97精品免视看秋霞| 免费在线日韩av| 日韩中文首页| 国产视频一区免费看| 蜜臀a∨国产成人精品| 91亚洲无吗| 成人看片网站| 日韩一区精品视频| 欧美国产不卡| 欧美日韩免费观看一区=区三区| 日本中文字幕一区二区| 精品九九久久| 欧美一区=区| 久久爱www.| 亚洲激情欧美| 精品一区二区三区亚洲 | 久久福利毛片| 国产精品乱战久久久| 久久久久久久久久久9不雅视频| 免费一区二区视频| 精品国产网站| 水蜜桃久久夜色精品一区的特点| 国产精品hd| 欧美日韩精品一本二本三本| 久久超级碰碰| 美女日韩在线中文字幕| 麻豆国产精品777777在线| 2023国产精品久久久精品双| 日本午夜精品视频在线观看| 在线观看精品| 日韩成人av影视| 国精品一区二区三区| 国产精品久久久久久久久久妞妞| 亚洲成人精品| 久久狠狠亚洲综合| 91九色精品国产一区二区| 久久国产视频网| 影音国产精品| 精品亚洲成人| 久久福利精品| 韩国久久久久久| 日韩不卡一区二区三区| 亚洲国产不卡| 久久国产尿小便嘘嘘| 黄色精品网站| 黄色aa久久| 国产私拍福利精品视频二区| 1024精品久久久久久久久| 麻豆久久一区| 日韩欧美高清一区二区三区| 亚洲国产综合在线看不卡| 美腿丝袜在线亚洲一区| 亚洲影视一区| 五月婷婷亚洲| 日韩成人综合| 国产精久久一区二区| 亚洲久久在线| 欧美+日本+国产+在线a∨观看| 国产精品欧美在线观看| 久久亚洲欧美| 91久久中文| 欧美色图一区| 久久久久久一区二区| 国产欧美日韩精品一区二区免费 | 国产精品综合| 一区二区日韩免费看| 不卡在线一区二区| 麻豆精品蜜桃| 国产欧洲在线| 久久精品女人| 国产日韩一区| 日本视频一区二区| 免费人成在线不卡| 欧美日韩四区| 激情五月综合网| 日韩欧美少妇| 亚洲日本网址| 日韩精品电影| 日韩一区欧美| 亚洲精品88| 欧美日韩精品免费观看视欧美高清免费大片| 久久亚洲资源中文字| 国产精品啊v在线| 国产精品v一区二区三区| 欧美日韩18| 日本成人中文字幕在线视频| 亚洲在线免费| 亚洲少妇在线| 久久大逼视频| 亚洲视频二区| 亚洲啊v在线免费视频| 中文无码日韩欧| 免费国产亚洲视频| 亚洲精品国模| 亚洲3区在线| 亚洲a级精品| 日韩成人在线看| 国产欧美亚洲一区| 国产精品男女| 久久久精品国产**网站| 国产欧美久久一区二区三区| 欧美午夜三级| 国产精品xxx在线观看| 精品国产亚洲一区二区三区大结局 | 亚洲一区av| 免费一级片91| 日本电影久久久| 国产精区一区二区| 国产一区二区三区黄网站| 免费看av不卡| av中文资源在线资源免费观看| 久久精品不卡| 精品美女久久| 视频小说一区二区| 免费看黄色91| 亚洲国产成人二区| 日韩欧美一区二区三区在线观看 | 日韩av网站免费在线| 欧美中文一区| 欧美日韩一区二区三区在线电影| 国产精品久久久久久妇女| 黄色在线网站噜噜噜| 欧美日韩色图| 亚洲欧美在线专区| 欧美精品资源| 亚洲一二av| 国产激情综合| 国产高潮在线| 国产亚洲欧洲| 日韩av在线免费观看不卡| 国产精品v日韩精品v欧美精品网站| 日本一区二区高清不卡| 午夜久久福利| 国产亚洲字幕| 黄在线观看免费网站ktv| 国产一在线精品一区在线观看| 香蕉成人久久| 久久av影视| 欧美日韩国产高清| 欧美日韩黄网站| 日本在线高清| 亚洲自拍另类| 麻豆精品新av中文字幕| 久久久久国产一区二区| 综合亚洲视频| 精品视频91| 免费久久99精品国产| 国产一区二区三区四区五区传媒| 午夜欧美理论片| 国产伦精品一区二区三区千人斩| 国产videos久久| 午夜宅男久久久| 精品无人区麻豆乱码久久久| 性欧美69xoxoxoxo| 国产极品模特精品一二| 日韩一级精品| 精品一区二区三区在线观看视频| 午夜精品影院| 美女在线视频一区| 99视频一区| 久久免费影院| 亚洲精品一区二区妖精| 久久激五月天综合精品| 久久精品国产www456c0m| 日韩成人在线看| 日韩电影二区| 国产日本亚洲| 亚洲成人精选| 美女视频黄免费的久久| 欧美专区18| 少妇精品导航|