做淘宝客建网站要多少费用,wordpress文章列表分页插件,wordpress 弹窗 网页,广告推广的方式概述在.Net开发中#xff0c;一般操作Json都是使用Newtonsoft.Json包#xff0c;下面我们来使用该包以类似xpath的方式JsonPath操作Json。介绍JsonPath是xpath在json中的应用#xff0c;是参照xpath表达式来解析xml文档的方式#xff0c;用一个抽象的名字$来表示最外层的对…概述在.Net开发中一般操作Json都是使用Newtonsoft.Json包下面我们来使用该包以类似xpath的方式JsonPath操作Json。介绍JsonPath是xpath在json中的应用是参照xpath表达式来解析xml文档的方式用一个抽象的名字$来表示最外层的对象。常见的写法$.store.book[0].title
$[store][book][0][title]在线测试网站http://jsonpath.com/JSONPath 允许使用通配符 * 表示所以的子元素名和数组索引。还允许使用 .. (从E4X参照过来的和数组切分语法)示例$.store.book[(.length-1)].title-- 使用符号表示当前的对象?(判断表达式) 使用逻辑表达式来过滤。
$.store.book[?(.price 10)].title操作对比XPathJSONPathDescription/$表示根元素.当前元素/. or []子元素..n/a父元素//..递归下降JSONPath是从E4X借鉴的。**通配符表示所有的元素n/a属性访问字符[][]子元素操作符|[,]连接操作符在XPath 结果合并其它结点集合。JSONP允许name或者数组索引。n/a[start:end:step]数组分割操作从ES4借鉴。[]?()应用过滤表示式n/a()脚本表达式使用在脚本引擎下面。()n/aXpath分组示例下面是一个简单的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}}
}操作示例var str File.ReadAllText(aa.txt);
JObject jobj JObject.Parse(str);var bb jobj.SelectToken($.data.emrMenuDisplayModels[2][identify]);//书点所有书的作者
var autherList jobj.SelectTokens($.store.book[*].author);//所有的作者
var autherList2 jobj.SelectTokens($...author);//store的所有元素。所有的bookst和bicycle
var store1 jobj.SelectTokens($.store.*);//store里面所有东西的price
var store2 jobj.SelectTokens($.store..[price]);
var store3 jobj.SelectTokens($.store..price);//第三个书
var book1 jobj.SelectTokens($.store.book[2]);
var book2 jobj.SelectTokens($..book[2]);// 最后一本书
var book3 jobj.SelectTokens($..book[-1:]);
//var book3 jobj.SelectTokens($..book[(.len-1)]);//不支持.length
//var book4 jobj.SelectTokens($.store.book[(.length-1)]);//前面的两本书
var laing jobj.SelectTokens($..book[0,1]);//过滤出所有的包含isbn的书
var contain jobj.SelectTokens($..book[?(.isbn)]);//过滤出价格低于10的书。
var price jobj.SelectTokens($..book[?(.price10)]);//所有元素
var all jobj.SelectTokens($..*);资料参考资料https://blog.csdn.net/myself8202/article/details/80724968