JSON-Datei: Sektionen (Keys) anzeigen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jbaben
User
Beiträge: 24
Registriert: Dienstag 12. Januar 2016, 16:05

Dienstag 13. März 2018, 17:10

Hallo,
ich möchte aus einer JSON-Datei die einzelnen Sektionen angezeigt bekommen.
D.h. ich möchte wissen wieviele Sektionen die entsprechende JSON-Datei enthält.
Mit diesem Code wird der Inhalt der JSON-Datei "data.json" angezeigt.

Code: Alles auswählen

# -*- coding: utf-8 -*-
import json
from pprint import pprint

print("Datei oeffnen")
with open("data.json") as data_file:    
    data = json.load(data_file)
    
print("Datei-Inhalt anzeigen")
pprint(data)
JSON-Datei

Code: Alles auswählen

{
    "zoneA": [
        {
            "zoneA1": "0"
        },
	{
	    "zoneA2": "1"
	},
	{
	    "zoneA3": "1"
	}
    ],
    "zoneB": [
        {
            "zoneB1": "0"
        },
	{
	    "zoneB2": "1"
	},
	{
	    "zoneB3": "1"
	}
    ]
}
Mit Sektionen meine ich: "zoneA" und "zoneB"

MfG
Juergen B.
Benutzeravatar
snafu
User
Beiträge: 5632
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Dienstag 13. März 2018, 17:21

Code: Alles auswählen

for key in data.keys():
    print(key)

# Alternativ:
print(*data.keys(), sep=', ')
shcol (Repo | Doc | PyPi)
Sirius3
User
Beiträge: 8804
Registriert: Sonntag 21. Oktober 2012, 17:20

Dienstag 13. März 2018, 18:44

@jbaben: die Daten einer JSON-Datei sind einfach Wörterbücher (oder Liste), so dass Du die ganz normalen Methoden auf Wörterbücher verwenden kannst.
jbaben
User
Beiträge: 24
Registriert: Dienstag 12. Januar 2016, 16:05

Dienstag 13. März 2018, 19:14

Hallo,
vielen Dank fuer Eure Antworten, werde ich testen.

MfG

Juergen B.
Benutzeravatar
DeaD_EyE
User
Beiträge: 235
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Mittwoch 14. März 2018, 08:57

Notfalls mit type(object) nachsehen um welchen Datentyp es sich bei dem Objekt handelt.
Dann weiß man auch welche Methoden zur Verfügung stehen.

Methoden folgender Objekte sollte man kennen: tuple, list, dict, set, str, int, float

Das wäre z.B. auch JSON: '[0, 1, 2, 3, 4]'
Würdest du diesen String mit dem JSON decoder parsen, käme am ende eine Liste heraus.
Die Datentypenkonvertierung von JSON <> Python ist fast 1:1.
sourceserver.info - sourceserver.info/wiki/ - Support für HL2-Server
jbaben
User
Beiträge: 24
Registriert: Dienstag 12. Januar 2016, 16:05

Mittwoch 14. März 2018, 14:19

Hallo,

so der Hinweis von "snafu " hat mir geholfen:

Code: Alles auswählen

# -*- coding: utf-8 -*-
import json
from pprint import pprint

print("Datei oeffnen")
with open("data.json") as data_file:   
    data = json.load(data_file)
   
print("Datei-Inhalt anzeigen")
pprint(data)

print("Sektionen (keys) anzeigen")
for key in data.keys():
    print(key)
# Alternativ:
print(*data.keys(), sep=', ')
print("Anzahl Sektionen (keys): %d " % len(data.keys()))
Ich habe aber noch eine Frage zu dem Hinweis auf "Wörterbuch" : welche Methoden kämen dafür in Frage ?

MfG

Juergen B.
Benutzeravatar
snafu
User
Beiträge: 5632
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Mittwoch 14. März 2018, 16:55

jbaben hat geschrieben:Ich habe aber noch eine Frage zu dem Hinweis auf "Wörterbuch" : welche Methoden kämen dafür in Frage ?
Hier werden die wichtigsten Datenstrukturen in Python auf Deutsch beschrieben:
https://py-tutorial-de.readthedocs.io/d ... tures.html

Wörterbücher (engl. Dictionary) findest du dort unter Punkt 5.5.
shcol (Repo | Doc | PyPi)
Antworten