Website-Suche

So codieren Sie Daten von Python in JSON


Objektiv

Codieren Sie Python-Daten in JSON.

Ausschüttungen

Dies funktioniert auf jeder Distribution, auf der Python installiert ist.

Anforderungen

Eine funktionierende Linux-Installation mit Python

Schwierigkeit

Leicht

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mit dem Befehl sudo
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Einleitung

JSON ist das universelle Format für die Weitergabe von Daten zwischen Programmen und/oder Sprachen, insbesondere im Web. Python bietet eine hervorragende integrierte Unterstützung für die Konvertierung von Daten aus einem Python-Programm in JSON, damit ein anderes Programm es verwenden kann.

Grundlegende Codierung

Die JSON-Unterstützung von Python kommt von einem Modul. Bevor Sie mit JSON arbeiten können, müssen Sie es importieren.

import json

Als Nächstes erfordert die Methode, dass die Daten in einem Wörterbuch angeordnet werden. Richten Sie ein Wörterbuch ein, mit dem Sie arbeiten können.

distro_install_command = {'Debian': 'apt', 
						  'Ubuntu': 'apt',
						  'Fedora': 'dnf', 
						  'CentOS': 'yum',
						  'OpenSUSE': 'zypper',
						  'Arch': 'pacman',
						  'Gentoo': 'emerge'
}

Es gibt eine Methode namens dumps im json-Modul, mit der Sie Ihre Daten in JSON "dumpen" können.

distro_json = json.dumps(distro_install_command)

Versuchen Sie, es auszudrucken.

print(distro_json)

Es ist einigermaßen ordentlich, da es bereits ein Wörterbuch war, aber es wird nicht in der üblichen JSON-Struktur präsentiert.

Sortieren

Wenn Sie möchten, dass Ihr JSON wie JSON ausgedruckt wird, gibt es einige zusätzliche Optionen, die Sie an json.dumps übergeben müssen.

distro_json = json.dumps(distro_install_command, sort_keys=True, indent=4)

Versuchen Sie, das auszudrucken. Es wird eher so aussehen, wie Sie es erwarten würden.

print(distro_json)

Dateiausgabe

Es ist wahrscheinlich besser, diesen JSON-Code an einem Ort auszugeben, an dem darauf zugegriffen werden kann. Die gebräuchlichste Option im Web besteht darin, eine API mit JSON zu erstellen. Das würde den Rahmen dieses Handbuchs ein wenig sprengen, daher wird stattdessen das Erstellen einer Datei behandelt.

Es ist also einfacher, mit diesem Teil aus einer Python-Datei heraus zu arbeiten, da Sie alle Teile anordnen müssen. Richten Sie eine Datei ein, in der der Import und das Wörterbuch von oben oben angezeigt werden.

Die einfachste Struktur, die dafür verwendet werden kann, ist die with-Anweisung. Es komprimiert viel Code in einer vereinfachten Form und sorgt dafür, dass Ihre Datei geschlossen wird. Deine with-Aussage sollte wie die folgende aussehen.

with open('distros.json', 'w') as f:
    json.dump(distro_install_command, f)

Der JSON-Code wird in die Datei geschrieben, nachdem dieser Block ausgeführt wurde. Beachten Sie die feinen Unterschiede. Dies erfordert die dump-Methode anstelle der dumps-Methode. dumps behandelt es wie eine Zeichenfolge, und das kann alles durcheinander bringen.

Objekte

Sie können Objekte auch in JSON serialisieren, aber das erfordert ein wenig zusätzliche Arbeit. json.dumps akzeptiert nur Wörterbücher, daher müssen Sie das Attribut __dict)) des Objekts verwenden. Es enthält die Informationen über das Objekt, die in einem Wörterbuch organisiert sind, und kann verwendet werden, um das Objekt wie ein Wörterbuch zu behandeln.

Erstellen Sie ein Objekt, mit dem Sie arbeiten möchten.

class Test(object):
    def __init__():
	    self.a = 10
		self.b = 15
		self.c = 20

test1 = Test()

Sie können das Objekt, das Sie instanziiert haben, an json.dumps übergeben.

print(json.dumps(test1.__dict__))

Die Variablen, die Sie im Objekt festgelegt haben, werden ausgedruckt.

Abschließende Gedanken

Das war's für die Codierung von JSON. Sie können definitiv mehr tun und mit verschiedenen Datenkonfigurationen herumspielen. JSON und Wörterbücher haben eine ähnliche Syntax und Struktur, sodass es einfach ist, Ihre Daten auf leicht verständliche Weise anzuordnen.

Übungen

  1. Importieren des JSON-Moduls
  2. Erstellen eines Wörterbuchs zum Codieren
  3. Drucken des codierten Wörterbuchs
  4. Drucken Sie das Wörterbuch codiert und sortiert aus
  5. Exportieren des Wörterbuchs als JSON in eine Datei
  6. Erstellen eines Python-Objekts mit Instanzdaten
  7. Drucken des Objekts als JSON
  8. Exportieren Sie Ihr Objekt als JSON in eine Datei

Verwandte Artikel: