您好,欢迎访问一九零五行业门户网

Python Json读写操作之JsonPath怎么使用

python json读写操作_jsonpath用法详解1. 介绍jsonpath是一种信息抽取类库,是从json文档中抽取指定信息的工具,提供多种语言实现版本,包括javascript、python、php和java。
jsonpath的安装方法如下:pip install jsonpath
jsonpath语法和xpath语法对比,json结构清晰,可读性高,复杂度低,非常容易匹配。jsonpath的语法与xpath类似,如下表所示为jsonpath与xpath语法对比:
2. 代码示例bookjson = { "store": { "book":[ { "category": "reference", "author": "nigel rees", "title": "sayings of the century", "price": 8.95 }, { "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 } }}
变量bookjson中已经包含了这段json字符串,可通过以下代码反序列化得到json对象:
books=json.loads(bookjson)
1)查看store下的bicycle的color属性:
checkurl = "$.store.bicycel.color"print(jsonpath.jsonpath(books, checkurl))# 输出:['red']
2)输出book节点中包含的所有对象:
checkurl = "$.store.book[*]"object_list=jsonpath.jsonpath(books, checkurl)print(object_list)
3)输出book节点的第一个对象:
checkurl = "$.store.book[0]"obj = jsonpath.jsonpath(books, checkurl)print(obj)# 输出: ['category': 'reference', 'author': 'nigel rees', 'title': 'sayings of the century', 'price': 8.95}]
4)输出book节点中所有对象对应的属性title值:
checkurl = "$.store.book[*].title"titles = jsonpath.jsonpath(books, checkurl)print(titles)# 输出: ['sayings of the century', 'the lord of the rings']
5)输出book节点中category为fiction的所有对象:
checkurl = "$.store.book[?(@.category=='fiction')]”books=jsonpath.jsonpath(books, checkurl)print(books)# 输出:[{'category': 'fiction', 'author': 'j. r. r. tolkien', 'title': 'the lordof the rings', 'isbn': '0-395-19395-8', 'price': 22.99}]
6)输出book节点中所有价格小于10的对象:
checkurl="$.store.book[?(@.price<10)]"books = jsonpath.jsonpath(books, checkurl)print(books)# 输出: [{'category': 'reference', 'author': 'nigel rees', 'title':'sayings of the century', 'price': 8.95}]
7)输出book节点中所有含有isb的对象:
checkurl = "$.store.book[?(@.isb)]"books = jsonpath.jsonpath(books,checkurl)print(books)# 输出: [{'category': 'fiction', 'author': 'j. r. r. tolkien', 'title': 'the lord of the rings', 'isbn': '0-395-19395-8', 'price': 22.99}]
以上就是python json读写操作之jsonpath怎么使用的详细内容。
其它类似信息

推荐信息