Maison >développement back-end >Tutoriel Python >Comment utiliser JsonPath pour les opérations de lecture et d'écriture Python Json
JSONPath est une bibliothèque de classes d'extraction d'informations. Il s'agit d'un outil permettant d'extraire des informations spécifiées à partir de documents JSON. Il fournit plusieurs versions d'implémentation linguistiques. Javascript, Python, PHP et Java.
La méthode d'installation de JSONPath est la suivante : pip install jsonpath
Comparaison de la syntaxe JSONPath et de la syntaxe XPATH JSON a une structure claire, une lisibilité élevée, une faible complexité et est très facile à faire correspondre. La syntaxe de JSONPath est similaire à celle de XPath. Le tableau suivant montre la comparaison de syntaxe entre JSONPath et l'objet JSON :
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 } } }
1) Afficher l'attribut de couleur du vélo sous le magasin :
books=json.loads(bookJson)2) Afficher tous les objets contenus dans le nœud du livre :
checkurl = "$.store.bicycel.color" print(jsonpath.jsonpath(books, checkurl)) # 输出:['red']
checkurl = "$.store.book[*]" object_list=jsonpath.jsonpath(books, checkurl) print(object_list)4) Afficher les valeurs de titre d'attribut correspondant à tous les objets du nœud du livre :
checkurl = "$.store.book[0]" obj = jsonpath.jsonpath(books, checkurl) print(obj) # 输出: ['category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}]5) Afficher tous les objets du livre nœud dont la catégorie est fiction :
checkurl = "$.store.book[*].title" titles = jsonpath.jsonpath(books, checkurl) print(titles) # 输出: ['Sayings of the Century', 'The Lord of the Rings']6) Afficher tous les objets du nœud livre dont le prix est inférieur à 10 :
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}]7) Afficher tous les objets contenant isb dans le nœud livre :
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}]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!