Heim >Backend-Entwicklung >Python-Tutorial >Wie greife ich auf verschachtelte JSON-Daten mit eingebetteten JSON-Dokumenten als Zeichenfolgen zu?
So greifen Sie auf verschachtelte JSON-Daten mit eingebetteten JSON-Dokumenten zu
Beim Parsen komplexer JSON-Daten stoßen Sie möglicherweise auf eingebettete JSON-Dokumente als Zeichenfolgen innerhalb der primäre JSON-Struktur. Um auf den Inhalt dieser eingebetteten Dokumente zuzugreifen, befolgen Sie diese Schritte:
Problem:
Berücksichtigen Sie die folgende JSON-Struktur:
{ <br> „status“: „200“,<br> „msg“: „“,<br> „data“: {</p> <pre class="brush:php;toolbar:false">"time": "1515580011", "video_info": [ { "announcement": "{\n\t\"announcement_id\":\"6\",\n\t\"name\":\"INS\u8d26\u53f7\",\n\t\"icon\":\"http:\\/\\/liveme.cms.ksmobile.net\\/live\\/announcement\\/2017-08-18_19:44:54\\/ins.png\",\n\t\"icon_new\":\"http:\\/\\/liveme.cms.ksmobile.net\\/live\\/announcement\\/2017-10-20_22:24:38\\/4.png\",\n\t\"videoid\":\"15154610218328614178\",\n\t\"content\":\"FOLLOW ME PLEASE\",\n\t\"x_coordinate\":\"0.22\",\n\t\"y_coordinate\":\"0.23\"}\n", "announcement_shop": "" } ]
}
}
Um auf den „Inhalt“-Wert des eingebetteten JSON-Dokuments in „Ankündigung“ zuzugreifen, können Sie etwas versuchen wie:
replay_data = raw_replay_data'data'[0]<br>Ankündigung = replay_data['announcement']
Ansage ist jetzt jedoch eine Zeichenfolge, die mehr JSON-Daten darstellt, und die Indizierung von Announcement['content'] führt aufgrund ungültiger Zeichenfolgenindizes zu einem TypeError.
Lösung:
Um korrekt auf die gewünschte Zeichenfolge zuzugreifen, verwenden Sie Folgendes Schritte:
import json
announcement_dict = json.loads(announcement)
desired_content = ankündigung_dict['content']
In diesem Fall enthält gewünscht_content die Zeichenfolge „FOLLOW ME PLEASE.“
Ausführliche Erklärung:
Um in komplexen JSON-Strukturen zu navigieren, ist es entscheidend, „auf Ihre Daten zu starren“ und den Weg zum Ziel zu identifizieren Wert.
- Daten
- video_info (eine Liste)
- Erstes Wörterbuch im Liste
- Ankündigung (eine Zeichenfolge, die JSON darstellt)
- Inhalt (innerhalb des geladenen JSON)
Durch die Befolgung dieses Ansatzes können Sie effizient auf verschachtelte Daten in komplexen JSON-Strukturen zugreifen und diese bearbeiten.
Das obige ist der detaillierte Inhalt vonWie greife ich auf verschachtelte JSON-Daten mit eingebetteten JSON-Dokumenten als Zeichenfolgen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!