ホームページ  >  記事  >  バックエンド開発  >  Python で深くネストされた JSON 構造から効率的に値を抽出する方法

Python で深くネストされた JSON 構造から効率的に値を抽出する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 07:37:30478ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。