版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
JSONPath與json模塊Contents知識目標掌握JSONPath與json模塊使用方法技能目標提高數(shù)據(jù)采集和處理能力素養(yǎng)目標培養(yǎng)良好的信息素養(yǎng)和道德意識JSON簡述JSON(JavaScriptObjectNotation,JS對象簡譜)是比XML更簡單的一種數(shù)據(jù)交換格式,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。語法規(guī)則1.使用鍵值對(key:value)表示對象2.使用逗號(,)分隔多條數(shù)據(jù)3.使用花括號{}包含對象4.使用方括號[]表示數(shù)組JSON簡述JSON鍵/值對格式:字段名稱(包含在雙引號中),后面加一個冒號,然后是值。"name":"XiaoHong"JSON的值:值必須是有效的JSON數(shù)據(jù)類型,包括:例如:1.字符串、數(shù)字、布爾值、null、數(shù)組或另一個JSON對象。2.字符串必須是由雙引號包圍的字符序列。3.數(shù)字可以是整數(shù)或浮點數(shù)。4.數(shù)組和對象可以包含其他JSON數(shù)據(jù)類型作為其值。JSON簡述JSON鍵/值對JSON對象:對象在JavaScript中表示為花括號{}括起來的內(nèi)容,數(shù)據(jù)結(jié)構為
{key:value,key:value,...}的鍵值對的結(jié)構。{"name":"XiaoHong","age":18}例如:JSON簡述JSON數(shù)組數(shù)組在JavaScript中是中括號[]括起來的內(nèi)容,數(shù)據(jù)結(jié)構為
[字段1,字段2,字段3,...],其中字段值的類型可以是:數(shù)字字符串數(shù)組對象思考JSON和XML都是文本格式語言,都被經(jīng)常用于數(shù)據(jù)交換和網(wǎng)絡傳輸,它們有什么區(qū)別呢?JSON與XML比較JSONXML可讀性簡潔的語法,它使用鍵值對的形式來表示數(shù)據(jù),每個鍵值對之間用逗號分隔。規(guī)范的標簽形式。結(jié)構JSON的結(jié)構是扁平的,不支持嵌套的數(shù)據(jù)結(jié)構。XML則支持嵌套的數(shù)據(jù)結(jié)構,可以表示復雜的數(shù)據(jù)結(jié)構。解析速度由于JSON的語法簡單,所以其解析速度更快。需要處理更多的標簽和屬性。數(shù)據(jù)類型JSON的數(shù)據(jù)類型比XML更加豐富,支持更多的數(shù)據(jù)類型,如布爾值、null等。XML只支持字符串、數(shù)字、布爾值等基本數(shù)據(jù)類型。JSON與XML比較結(jié)論:需要表示復雜的數(shù)據(jù)結(jié)構或需要更多的數(shù)據(jù)類型支持,可以選擇XML。需要語法格式簡單,層次結(jié)構清晰,比XML更易于閱讀,占用的字符量少,可以選擇JSON。節(jié)約帶寬提高傳輸效率各有優(yōu)缺點,選擇哪種格式取決于具體的需求和場景。用于網(wǎng)絡數(shù)據(jù)傳輸時:JSON與XML比較結(jié)論:需要表示復雜的數(shù)據(jù)結(jié)構或需要更多的數(shù)據(jù)類型支持,可以選擇XML。需要語法格式簡單,層次結(jié)構清晰,比XML更易于閱讀,其占用的字符量少可以選擇JSON。用于網(wǎng)絡數(shù)據(jù)傳輸時:節(jié)約帶寬提高傳輸效率各有優(yōu)缺點,選擇哪種格式取決于具體的需求和場景。json模塊介紹序列化反序列化Python對象編碼轉(zhuǎn)換JSON字符串JSON字符串解碼轉(zhuǎn)換Python對象dumps和dump方法用于Python對象的序列化。loads和load方法用于Python對象的反序列化。json模塊使用importjson導入,提供了Python對象的序列化和反序列化功能。json模塊的基本使用用于字符串和Python數(shù)據(jù)類型間進行轉(zhuǎn)換。dumpsdumploadsloadjson模塊提供了四個方法用于Python對象的反序列化用于Python對象的序列化json模塊的基本使用把JSON格式字符串解碼轉(zhuǎn)換成Python對象。1.json.loads()方法JSONPython字典objectdict列表arraylist字符串stringunicode整數(shù)number(int)int,long浮點數(shù)number(real)float布爾值(真)trueTrue布爾值(假)falseFalse空nullNonejson模塊的基本使用演示loads()方法的用法,把JSON格式字符串解碼轉(zhuǎn)換成Python對象。示例:importjsonstr_list='[1,2,3,4]'json.loads(str_list)運行結(jié)果:[1,2,3,4]str_dict='{"city":"北京","name":"小明"}'json.loads(str_dict)運行結(jié)果:{'city':'北京','name':'小明'}json模塊的基本使用實現(xiàn)將Python類型編碼為JSON字符串,返回一個str對象。2.json.dumps()方法PythonJSON字典dictobject列表listarray字符串strstring整數(shù)int,long,floatnumber布爾值(真)Truetrue布爾值(假)Falsefalse空Nonenulljson模塊的基本使用演示dumps()方法的用法,實現(xiàn)將Python類型編碼為JSON字符串。示例:demo_list=[1,2,3,4]json.dumps(demo_list)運行結(jié)果:'[1,2,3,4]'demo_tuple=(1,2,3,4)json.dumps(demo_tuple)運行結(jié)果:'[1,2,3,4]'demo_dict={'city':'北京','name':'小明'}json.dumps(demo_dict,ensure_ascii=False)運行結(jié)果:'{"city":"北京","name":"小明"}'json模塊的基本使用讀取文件中JSON形式的字符串元素,轉(zhuǎn)化成Python類型。與json.loads()的區(qū)別在于:一個讀取的是字符串,一個讀取的是文件。3.json.load()示例:json.load()讀取文件中JSON形式的字符串元素,轉(zhuǎn)化成Python類型。str_list=json.load(open('liststr.json'))print(str_list)運行結(jié)果:{'city':'北京','name':'小蘭'}str_dict=json.load(open('dictstr.json'))print(str_dict)運行結(jié)果:{'city':'北京','name':'小紅'}str_list=[{"city":"北京","name":"小明"}]json.dump(str_list,open("lists.json","w"),ensure_ascii=False)str_dict={"city":"北京","name":"小紅"}json.dump(str_dict,open("dict.json","w"),ensure_ascii=False)json模塊的基本使用讀取文件中JSON形式的字符串元素,轉(zhuǎn)化成Python類型。與json.loads()的區(qū)別在于:一個讀取的是字符串,一個讀取的是文件。3.json.load()運行結(jié)果1運行結(jié)果2json模塊的基本使用將Python內(nèi)置類型序列化為json對象后寫入文件。與json.dumps()的區(qū)別在于寫入的是文件還是字符串。4.json.dump()示例:importjsondic={'country':'中國','city':'北京'}withopen("dict_str.json","w",encoding='utf-8')asf:json.dump(dic,f,ensure_ascii=False)運行結(jié)果JSONPathJavascriptPythonPHPJavapipinstalljsonpathJSONPath是一種信息抽取類庫,是從JSON文檔中抽取指定信息的工具。提供多種語言實現(xiàn)版本,包括:JSONPath的安裝方法如下:JSONPath是一種信息抽取類庫,是從JSON文檔中抽取指定信息的工具,提供多種語言實現(xiàn)版本,包括:JavascriptPythonPHPJavaJSONPath的安裝方法如下:pipinstalljsonpathjsonpath與xpath的比較XPathJSONPath描述/$根節(jié)點。.@現(xiàn)行節(jié)點。/.or[]取子節(jié)點。..n/a取父節(jié)點,JSONPath未支持。//..就是不管位置,選擇所有符合條件的節(jié)點。**匹配所有元素節(jié)點。@n/a根據(jù)屬性訪問,JSON不支持,因為JSON是個key-value遞歸結(jié)構,不需要屬性訪問。[][]迭代器標示(可以在里邊做簡單的迭代操作,如數(shù)組下標,根據(jù)內(nèi)容選值等)。|[,]支持迭代器中做多選。[]?()支持過濾操作。n/a()支持表達式計算。()n/a分組,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題02 平面向量(解析版)
- 考點02常用邏輯用語(3種核心題型+基礎保分練+綜合提升練+拓展沖刺練)解析版
- 鋁合金管路施工方案
- 省煤器檢修施工方案
- 蒸餾塔保溫施工方案
- 蘇州體育塑膠跑道施工方案
- 糧倉地槽風道施工方案
- 銅梁垃圾池防腐施工方案
- 勞務派遣合同范例珠海
- 企業(yè)門衛(wèi)勞務合同范本
- 2024年全國統(tǒng)一高考英語試卷(新課標Ⅰ卷)含答案
- 四年級上冊數(shù)學課件-一般應用題 全國通用(共26張PPT)
- 肝臟炎性假瘤的影像學表現(xiàn)培訓課件
- 國家行政機關公文格式課件
- 業(yè)務員回款考核辦法
- 急性心梗的護理業(yè)務學習課件
- 2021年投標部工作計劃
- 導向標識系統(tǒng)設計(二)課件
- 好書推薦《西游記》共33張幻燈片
- 聚焦:如何推進教育治理體系和治理能力現(xiàn)代化
- 化工儀表自動化【第四章】自動控制儀表
評論
0/150
提交評論