<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JsonPath基本用法

      JsonPath基本用法

      本文主要介紹JsonPath的基本語法,并演示如何在Newtonsoft.Json中進行使用。

      JsonPath的來源

      看它的名字你就能知道,這家伙和JSON文檔有關系,正如XPath之于XML文檔一樣,JsonPath為Json文檔提供了解析能力,通過使用JsonPath,你可以方便的查找節點、獲取想要的數據,JsonPath是Json版的XPath。

      JsonPath語法

      JsonPath的語法相對簡單,它采用開發語言友好的表達式形式,如果你了解類C語言,對JsonPath就不會感到不適應。

      JsonPath語法要點:

      • $ 表示文檔的根元素
      • @ 表示文檔的當前元素
      • .node_name['node_name'] 匹配下級節點
      • [index] 檢索數組中的元素
      • [start:end:step] 支持數組切片語法
      • * 作為通配符,匹配所有成員
      • .. 子遞歸通配符,匹配成員的所有子元素
      • (<expr>) 使用表達式
      • ?(<boolean expr>)進行數據篩選

      下表將列舉所有支持的語法,并對XPath進行比較:

      XPath JsonPath 說明
      / $ 文檔根元素
      . @ 當前元素
      / .[] 匹配下級元素
      .. N/A 匹配上級元素,JsonPath不支持此操作符
      // .. 遞歸匹配所有子元素
      * * 通配符,匹配下級元素
      @ N/A 匹配屬性,JsonPath不支持此操作符
      [] [] 下標運算符,根據索引獲取元素,XPath索引從1開始,JsonPath索引從0開始
      ` ` [,]
      N/A [start:end:step] 數據切片操作,XPath不支持
      [] ?() 過濾表達式
      N/A () 腳本表達式,使用底層腳本引擎,XPath不支持
      () N/A 分組,JsonPath不支持

      注意:

      • JsonPath的索引從0開始計數
      • JsonPath中字符串使用單引號表示,例如:$.store.book[?(@.category=='reference')]中的'reference'

      JsonPath示例

      下面是相應的JsonPath的示例,代碼來源于https://goessner.net/articles/JsonPath/,JSON文檔如下:

      {
      	"store": {
      		"book": [{
      				"category": "reference",
      				"author": "Nigel Rees",
      				"title": "Sayings of the Century",
      				"price": 8.95
      			}, {
      				"category": "fiction",
      				"author": "Evelyn Waugh",
      				"title": "Sword of Honour",
      				"price": 12.99
      			}, {
      				"category": "fiction",
      				"author": "Herman Melville",
      				"title": "Moby Dick",
      				"isbn": "0-553-21311-3",
      				"price": 8.99
      			}, {
      				"category": "fiction",
      				"author": "J. R. R. Tolkien",
      				"title": "The Lord of the Rings",
      				"isbn": "0-395-19395-8",
      				"price": 22.99
      			}
      		],
      		"bicycle": {
      			"color": "red",
      			"price": 19.95
      		}
      	}
      }
      

      接下來我們看一下如何對這個文檔進行解析:

      XPath JsonPath Result
      /store/book/author $.store.book[*].author 所有book的author節點
      //author $..author 所有author節點
      /store/* $.store.* store下的所有節點,book數組和bicycle節點
      /store//price $.store..price store下的所有price節點
      //book[3] $..book[2] 匹配第3個book節點
      //book[last()] $..book[(@.length-1)],或 $..book[-1:] 匹配倒數第1個book節點
      //book[position()<3] $..book[0,1],或 $..book[:2] 匹配前兩個book節點
      //book[isbn] $..book[?(@.isbn)] 過濾含isbn字段的節點
      //book[price<10] $..book[?(@.price<10)] 過濾price<10的節點
      //* $..* 遞歸匹配所有子節點
      你可以在http://jsonpath.com/站點進行驗證JsonPath的執行效果。

      在Newtonsoft.Json中的用法

      JsonPath是語言無關的表達式語言,Newtonsoft.Json庫提供了對JsonPath的支持,它提供了JObject.SelectToken()JObject.SelectTokens()方法來使用JsonPath解析Json文檔,代碼如下:

      //創建JObject對象
      var jObj = JObject.Parse(jsonString);
      var books = jObj.SelectToken("$.store.book[?(@.category=='reference')]");
      

      參考文檔:

      posted @ 2019-05-29 11:57  拓荒者IT  閱讀(65881)  評論(0)    收藏  舉報
      皮膚配置 參考地址:https://www.yuque.com/awescnb/user
      主站蜘蛛池模板: 欧洲精品亚洲精品日韩专区| 无码人妻丰满熟妇区毛片18| 成人亚洲性情网站www在线观看| 性一交一乱一乱一视频| 白白发布视频一区二区视频| 免费无码一区无码东京热| 熟妇人妻不卡中文字幕| av永久免费网站在线观看| 国精品午夜福利不卡视频| 亚洲人成网线在线播放VA| 在线视频中文字幕二区| 国产av丝袜熟女一二三| 国产精品熟女一区二区不卡| 精品久久久久久无码国产| 国产精品国三级国产av| 国产亚洲精品第一综合| 欧美熟妇性XXXX欧美熟人多毛| 中文字幕亚洲综合久久青草 | 男女xx00上下抽搐动态图| 丁香五月亚洲综合深深爱| 亚洲欧美不卡高清在线| 黑巨人与欧美精品一区| 国产精品美女久久久久久麻豆| 丰满熟妇人妻中文字幕| 亚洲 成人 无码 在线观看| 国产精品99区一区二区三| 国产午夜亚洲精品久久| 亚洲情A成黄在线观看动漫尤物 | 色猫咪av在线观看| 日韩中文字幕在线不卡一区| 免费午夜无码片在线观看影院| 国产精品一区二区三区黄| 黑人巨大亚洲一区二区久| 无码成人一区二区三区| 国产日韩入口一区二区| 国产边打电话边被躁视频| 国产一区二区三区无遮挡| 精品国产大片中文字幕| 国内揄拍国内精品少妇| 色宅男看片午夜大片啪啪| 日韩丝袜欧美人妻制服|