>백엔드 개발 >파이썬 튜토리얼 >Python Json 읽기 및 쓰기 작업에 JsonPath를 사용하는 방법

Python Json 읽기 및 쓰기 작업에 JsonPath를 사용하는 방법

PHPz
PHPz앞으로
2023-04-18 16:43:051197검색

    Python Json 읽기 및 쓰기 작업_JsonPath 사용법에 대한 자세한 설명

    1. 소개

    JSONPath는 JSON 문서에서 특정 정보를 추출하는 도구입니다. 자바스크립트, 파이썬, PHP, 자바.

    JSONPath의 설치 방법은 다음과 같습니다. pip install jsonpath

    JSONPath 구문과 XPATH 구문 비교 JSON은 구조가 명확하고 가독성이 높으며 복잡성이 낮으며 일치하기가 매우 쉽습니다. JSONPath의 구문은 XPath의 구문과 유사합니다. 다음 표는 JSONPath와 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) 상점 아래에 있는 자전거의 색상 속성 보기: Python Json 읽기 및 쓰기 작업에 JsonPath를 사용하는 방법

    books=json.loads(bookJson)

    2) 다음 표에 포함된 모든 객체를 출력합니다. the book 노드:

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

    3) book 노드의 첫 번째 객체 출력:

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

    4) 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}]

    5) 책의 모든 객체 출력 카테고리가 소설인 노드:

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

    6) 가격이 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) 책 노드의 isb를 포함하는 모든 객체 출력:

    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}]

    위 내용은 Python Json 읽기 및 쓰기 작업에 JsonPath를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제