Heim > Backend-Entwicklung > Python-Tutorial > Wie extrahieren Sie verschachtelte Werte aus einer komplexen JSON-Struktur?

Wie extrahieren Sie verschachtelte Werte aus einer komplexen JSON-Struktur?

Linda Hamilton
Freigeben: 2024-11-02 15:53:29
Original
725 Leute haben es durchsucht

How do you extract nested values from a complex JSON structure?

Extrahieren verschachtelter JSON-Werte

Problem:

Beim Parsen von JSON-Daten kann Folgendes auftreten komplexe und verschachtelte Strukturen wie diese:

<code class="json">{'name': 'ns1:timeSeriesResponseType',
 'declaredType': 'org.cuahsi.waterml.TimeSeriesResponseType',
 'scope': 'javax.xml.bind.JAXBElement$GlobalScope',
 'value': {'queryInfo': {'creationTime': 1349724919000,
                          'queryURL': 'http://waterservices.usgs.gov/nwis/iv/',
                          'criteria': {'locationParam': '[ALL:103232434]',
                                       'variableParam': '[00060, 00065]'},
                          'note': [{'value': '[ALL:103232434]',
                                    'title': 'filter:sites'},
                                   {'value': '[mode=LATEST, modifiedSince=null]',
                                    'title': 'filter:timeRange'},
                                   {'value': 'sdas01', 'title': 'server'}]}},
 'nil': False, 'globalScope': True, 'typeSubstituted': False}</code>
Nach dem Login kopieren

Sie möchten einen bestimmten Wert extrahieren, beispielsweise das Feld „creationTime“.

Lösung:

1. Navigieren Sie durch die Datenstruktur:

Um den Wert „creationTime“ zu extrahieren, müssen wir mit den Tasten durch die verschachtelte Struktur navigieren:

<code class="python">my_dict['key1']['key2']['key3']</code>
Nach dem Login kopieren

2. Beispielcode:

Um den Wert „creationTime“ zu erhalten, verwenden Sie den folgenden Code:

<code class="python">creation_time = my_dict['value']['queryInfo']['creationTime']</code>
Nach dem Login kopieren

3. Bestimmen des Pfads zu Daten:

Um den Pfad zu einem bestimmten Datenelement zu bestimmen, untersuchen Sie die Struktur der JSON-Antwort:

  • Jedes Schlüssel-Wert-Paar im JSON Struktur stellt ein Pfadsegment dar.
  • Um auf einen verschachtelten Wert zuzugreifen, verketten Sie einfach die Pfadsegmente mit „[]“.

4. Allgemeinerer Ansatz:

Wenn Sie auf eine unbekannte verschachtelte JSON-Struktur stoßen, können Sie eine rekursive Funktion verwenden, um zu navigieren und den gewünschten Wert abzurufen:

<code class="python">def get_nested_value(data, path):
  if isinstance(data, dict):
    if path[0] in data:
      return get_nested_value(data[path[0]], path[1:])
    else:
      return None  # Raise an error if the key doesn't exist

  elif isinstance(data, list):
    if len(path) == 0:
      return data
    else:
      return get_nested_value(data[path[0]], path[1:])

  else:
    return data

value = get_nested_value(my_dict, ['value', 'queryInfo', 'creationTime'])</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie extrahieren Sie verschachtelte Werte aus einer komplexen JSON-Struktur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage