Comment utiliser JsonPath pour les opérations de lecture et d'écriture Python Json

PHPz
Libérer: 2023-04-18 16:43:05
avant
1093 Les gens l'ont consulté

    Opérations de lecture et d'écriture Python Json_Explication détaillée de l'utilisation de JsonPath

    1. Introduction

    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
        }
      }
    }
    Copier après la connexion

    1) Afficher l'attribut de couleur du vélo sous le magasin : Comment utiliser JsonPath pour les opérations de lecture et d'écriture Python Json

    books=json.loads(bookJson)
    Copier après la connexion

    2) Afficher tous les objets contenus dans le nœud du livre :

    checkurl = "$.store.bicycel.color"
    print(jsonpath.jsonpath(books, checkurl))
    # 输出:['red']
    Copier après la connexion

    3) Afficher le premier objet du nœud du livre :

    checkurl = "$.store.book[*]"
    object_list=jsonpath.jsonpath(books, checkurl)
    print(object_list)
    Copier après la connexion

    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}]
    Copier après la connexion

    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']
    Copier après la connexion

    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}]
    Copier après la connexion

    7) Afficher tous les objets contenant isb dans le nœud livre :

    checkurl="$.store.book[?(@.price<10)]"
    books = jsonpath.jsonpath(books, checkurl)
    print(books)
    # 输出: [{&#39;category&#39;: &#39;reference&#39;, &#39;author&#39;: &#39;Nigel Rees&#39;, &#39;title&#39;:&#39;Sayings of the Century&#39;, &#39;price&#39;: 8.95}]
    Copier après la connexion

    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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!