Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie JsonPath für Python-Json-Lese- und Schreibvorgänge

So verwenden Sie JsonPath für Python-Json-Lese- und Schreibvorgänge

PHPz
Freigeben: 2023-04-18 16:43:05
nach vorne
1145 Leute haben es durchsucht

    Python Json Lese- und Schreibvorgänge_Detaillierte Erklärung der JsonPath-Nutzung

    1. JSONPath ist eine Informationsextraktionsklassenbibliothek. Es bietet mehrere Sprachimplementierungsversionen, einschließlich Javascript, Python, PHP und Java.

    Die Installationsmethode von JSONPath ist wie folgt:

    pip install jsonpathVergleich der JSONPath-Syntax und der XPATH-Syntax. JSON hat eine klare Struktur, hohe Lesbarkeit, geringe Komplexität und ist sehr einfach zuzuordnen. Die Syntax von JSONPath ähnelt der von XPath. Die folgende Tabelle zeigt den Syntaxvergleich zwischen JSONPath und JSON-Objekt:

    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
        }
      }
    }
    Nach dem Login kopieren

    1) Sehen Sie sich das Farbattribut des Fahrrads unter dem Store an:

    books=json.loads(bookJson)
    Nach dem Login kopieren

    2) Geben Sie alle darin enthaltenen Objekte aus der Buchknoten: So verwenden Sie JsonPath für Python-Json-Lese- und Schreibvorgänge

    checkurl = "$.store.bicycel.color"
    print(jsonpath.jsonpath(books, checkurl))
    # 输出:['red']
    Nach dem Login kopieren

    3) Geben Sie das erste Objekt des Buchknotens aus:

    checkurl = "$.store.book[*]"
    object_list=jsonpath.jsonpath(books, checkurl)
    print(object_list)
    Nach dem Login kopieren

    4) Geben Sie die Attributtitelwerte aus, die allen Objekten im Buchknoten entsprechen:

    checkurl = "$.store.book[0]"
    obj = jsonpath.jsonpath(books, checkurl)
    print(obj)
    # 输出: ['category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}]
    Nach dem Login kopieren

    5) Geben Sie alle Objekte im Buch aus Knoten, dessen Kategorie Fiktion ist:

    checkurl = "$.store.book[*].title"
    titles = jsonpath.jsonpath(books, checkurl)
    print(titles)
    # 输出: ['Sayings of the Century', 'The Lord of the Rings']
    Nach dem Login kopieren

    6) Alle Objekte im Buchknoten ausgeben, deren Preis weniger als 10 beträgt:

    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}]
    Nach dem Login kopieren

    7) Alle Objekte ausgeben, die isb im Buchknoten enthalten:

    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}]
    Nach dem Login kopieren

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie JsonPath für Python-Json-Lese- und Schreibvorgänge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage