>  기사  >  백엔드 개발  >  Python에서 깊게 중첩된 JSON 구조에서 값을 효율적으로 추출하는 방법은 무엇입니까?

Python에서 깊게 중첩된 JSON 구조에서 값을 효율적으로 추출하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 07:37:30427검색

How to Efficiently Extract Values from Deeply Nested JSON Structures in Python?

JSON 구조에서 중첩 데이터 검색

복잡한 JSON 데이터를 구문 분석할 때 깊게 중첩된 구조에서 특정 값을 추출하는 것이 어려울 수 있습니다. 이 문서에서는 Python의 사전 및 목록 인덱싱 구문을 사용하여 중첩된 데이터를 효율적으로 탐색하는 방법을 간략히 설명하여 이 문제에 대한 솔루션을 제공합니다.

데이터 구조 이해

다음 JSON 데이터 예시를 고려하세요.

<code class="python">my_json = {
    "name": "ns1:timeSeriesResponseType",
    "value": {
        "queryInfo": {
            "creationTime": 1349724919000,
            # ... other data
        }
    }
}</code>

특정 값 추출

"creationTime" 값에 액세스하려면 다음 구문을 사용하세요.

<code class="python">query_info = my_json["value"]["queryInfo"]
creation_time = query_info["creationTime"]</code>

구분:

  • my_json["value"]는 외부 사전(파싱된 JSON 데이터 자체)의 "value" 키 값에 액세스합니다.
  • query_info["creationTime"]는 외부 사전의 "creationTime" 키 값에 액세스합니다. "queryInfo" 사전(my_json["value"]에서 가져옴).

따라서 Creation_time의 값은 1349724919000입니다.

추출 코드 일반화

가변 수준의 중첩이 있는 중첩 데이터의 경우 보다 일반적인 접근 방식을 사용할 수 있습니다.

<code class="python">def get_nested_value(data, key_path):
    keys = key_path.split(".")
    value = data
    for key in keys:
        value = value[key]
    return value</code>

사용법:

<code class="python">creation_time = get_nested_value(my_json, "value.queryInfo.creationTime")</code>

이 함수는 데이터 사전과 키 경로( 예: "value.queryInfo.creationTime") 원하는 값을 얻을 때까지 중첩된 값에 반복적으로 액세스합니다.

위 내용은 Python에서 깊게 중첩된 JSON 구조에서 값을 효율적으로 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.