Seite 1 von 1

JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Dienstag 13. März 2018, 17:10
von jbaben
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.

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Dienstag 13. März 2018, 17:21
von snafu

Code: Alles auswählen

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

# Alternativ:
print(*data.keys(), sep=', ')

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Dienstag 13. März 2018, 18:44
von Sirius3
@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.

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Dienstag 13. März 2018, 19:14
von jbaben
Hallo,
vielen Dank fuer Eure Antworten, werde ich testen.

MfG

Juergen B.

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Mittwoch 14. März 2018, 08:57
von DeaD_EyE
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.

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Mittwoch 14. März 2018, 14:19
von jbaben
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.

Re: JSON-Datei: Sektionen (Keys) anzeigen

Verfasst: Mittwoch 14. März 2018, 16:55
von snafu
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.