Seite 1 von 1
JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 13:57
von USER0518
Hallo in die Runde
Ich habe als Vorlage eine JSON Datei aus einem Chat ( Telegramm ) . ( Öffentlich zugänglich damit Datenschutzkonform )
Um diese Datei hier zu posten, wäre wohl etwas zu viel des Guten ( ca. 490 MB )
Nun möchte ich in diese Messages hineinschauen können um nach einem gewissen Inhalt zu suchen.
Code: Alles auswählen
{'id: 456215,
'type' : 'message',
'date': '2024-1205',
....
}
Das ist der prinzipielle Grundaufbau, einer solchen Message
Wie kann ich nun mir eine solche Message herauspicken, wenn mir dir Message ID bekannt ist ?
Und als weitere Frage, wie kann prüfen ob dem Element 'text' nach den Textbausteinen noch eine weiteres in der Hierarchie untergeordnetes Element 'reactions' vorhanden ist.
Die Einzulesen mit dem Import von Json ist erst einmal nicht das Problem - nur wie kann gezielt in die Ebenen springen, abfragen ob in dieser Ebene ein spezielles Element vorhanden ist, und dann diese als solches für eine Suchfunktion herauslösen ?
Danke im voraus
U.A.
Re: JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 15:04
von __blackjack__
@USER0518: Kleine Vorbemerkung: Nur weil personenbezogene Daten öffentlich verfügbar sind, darf man die nicht automatisch beliebig verarbeiten.
Zur Frage: Python-Grundlagentutorial durcharbeiten, dort über Datentypen Zeichenketten, Zahlen, Wahrheitswerte, `None`, Listen, Wörterbücher und dann Schleifen, Vergleiche, bedingte Ausführung, und vielleicht „list comprehension“ und die anderen „comprehension“-Varianten lernen. Das braucht man dazu. Wie JSON-Werte/Typen auf Python-Werte/Typen abgebildet werden, steht in der Dokumentation vom JSON-Modul.
Funktionen und Generatorfunktionen schreiben zu können wird sich wahrscheinlich auch als nützlich heraus stellen.
Es gibt auch Bibliotheken wie `glom`, die manchmal ganz praktisch sein können wenn man auf verschachtelten Datenstrukturen operiert. Ob das hier der Fall ist, kann man so pauschal nicht sagen. Das hat halt auch noch mal eine gewisse Einarbeitungszeit.
Re: JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 18:35
von DeaD_EyE
__blackjack__ hat geschrieben: Mittwoch 29. Januar 2025, 15:04
@USER0518: Kleine Vorbemerkung: Nur weil personenbezogene Daten öffentlich verfügbar sind, darf man die nicht automatisch beliebig verarbeiten.
Das spielt keine Rolle, da letztendlich die Betrüger gewerbsmäßig diese Daten nutzen, um besser betrügen zu können. Die bekommen sie aber nicht hier aus diesem Forum.
Eine 490 MiB große JSON-Datei ist echt übertrieben. Haben die Hacker das Tutorial für sqlite noch nicht durchgearbeitet?
Re: JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 19:48
von noisefloor
Das gute bei Python ist, dass sich JSON Objekte sehr gut auf Python Dicts und JSON Arrays auf Python Liste abbilden lassen. Also beides Grunddatenstrukturen in Python. Wenn du das kannst, dann solltest du auch grundsätzlich mit JSON in Python umgehen können. Der Umgang mit Listen und Dicts ist im Python Tutorial und natürlich in der Python Doku erklärt. Beides _musst_ du können, sonst wird das nix mit Python und dir.
Gruß, noisefloor
Re: JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 21:21
von __blackjack__
@DeaD_EyE: Natürlich spielt das eine Rolle. Das ist kein Freibrief verbotene Dinge zu tun, nur weil andere die tun. Aber Herr Richter, alle anderen um mich herum haben doch auch geplündert, wird in der Regel nicht funktionieren. Und auch nicht-wissen schützt nicht.
Re: JSON Datei analysieren
Verfasst: Mittwoch 29. Januar 2025, 22:06
von nezzcarth
USER0518 hat geschrieben: Mittwoch 29. Januar 2025, 13:57
Wie kann ich nun mir eine solche Message herauspicken, wenn mir dir Message ID bekannt ist ?
Zum Beispiel, in dem du die Daten beim Einlesen gleich in ein Dictionary packst, bei dem die ID der Schlüssel und der Record der Value ist.
Für flexiblere Abfragen siehe die Vorschläge von __blackjack__.
DeaD_EyE hat geschrieben: Mittwoch 29. Januar 2025, 18:35
Eine 490 MiB große JSON-Datei ist echt übertrieben.
Ich habe regelmäßig mit noch deutlich größeren JSON-Dateien zu tun. Ich tröste mich damit, dass sie als XML, wie sie früher oft kamen, noch größer wären. Alles kein Problem mit den richtigen Werkzeugen und Methoden. Allerdings muss ich auch sagen, wenn man – wie das hier wirkt – eh eine gleichförmige Struktur hat mit einer Liste als oberstem Element, in der dann die einzelnen Datensätze als Mapping stehen, könnte man auch JSON-Lines nehmen, was bei solchen Mengen angenehmer zu verarbeiten ist.
Re: JSON Datei analysieren
Verfasst: Donnerstag 30. Januar 2025, 08:52
von DeaD_EyE
Ich hab das manchmal manuell gemacht. Erst den Datentyp anzeigen und wenn es eine Liste ist, das erste Element untersuchen und dann die Dicts/Listen durchgehen. Aber die Tools zur Analyse der Struktur sind sicherlich besser darin.
https://jless.io/ (sieht vielversprechend aus)
https://dadroit.com/download/ (proprietär, nicht kommerzielle Nutzung erlaubt)