Python-JSON

JSON ist eine Syntax zum Speichern und Austauschen von Daten.

JSON ist ein Text, der in der JavaScript-Objektnotation (JavaScript object notation) geschrieben ist.

JSON in Python

Python hat eine Namens json des eingebauten Pakets, das zur Verarbeitung von JSON-Daten verwendet werden kann.

Beispiel

Importieren json Modul:

import json

JSON auflösen - JSON in Python umwandeln

Wenn eine JSON-Zeichenkette vorhanden ist, kann sie verwendet werden json.loads() Dieses Verfahren parst es.

Das Ergebnis wird ein Python-Dictionary sein.

Beispiel

Konvertieren Sie JSON in Python:

import json
# Einige JSON:
x = '{ "name":"Bill", "age":63, "city":"Seatle"}'
# Parsen von x:
y = json.loads(x)
# Das Ergebnis ist ein Python-Dictionary:
print(y["age"])

Führen Sie ein Beispiel aus

Konvertieren Sie Python in JSON

Wenn Sie ein Python-Objekt haben, können Sie json.dumps() Dieses Verfahren konvertiert es in einen JSON-String.

Beispiel

Konvertieren Sie Python in JSON:

import json
# Python-Objekt (Dictionary):
x = {
  "name": "Bill",
  "age": 63,
  "city": "Seatle"
}
# Konvertieren Sie in JSON:
y = json.dumps(x)
# Das Ergebnis ist ein JSON-String:
print(y)

Führen Sie ein Beispiel aus

Sie können die folgenden Arten von Python-Objekten in JSON-Strings konvertieren:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

Beispiel

Konvertieren Sie Python-Objekte in JSON-Strings und drucken Sie den Wert aus:

import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Führen Sie ein Beispiel aus

Wenn Python in JSON umgewandelt wird, werden Python-Objekte in JSON (JavaScript)-Äquivalente umgewandelt:

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

Beispiel

Konvertieren Sie Python-Objekte, die alle legalen Datentypen enthalten:

import json
x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}
print(json.dumps(x))

Führen Sie ein Beispiel aus

Ergebnisse formatieren

Der obige Beispiel druckt einen JSON-String aus, aber er ist nicht leicht lesbar, ohne Einrückung und Zeilenumbruch.

json.dumps() Der Parameter bietet eine Möglichkeit, die Ergebnisse lesbarer zu machen:

Beispiel

Verwendung indent Parameter zur Definition der Einrückung:

json.dumps(x, indent=4)

Führen Sie ein Beispiel aus

Sie können auch Trennzeichen definieren, die Standardwerte sind (", ", ": "), was bedeutet, dass jeder Objekt mit Komma und Leerzeichen getrennt wird und die Schlüssel und Werte mit einem Doppelpunkt und Leerzeichen getrennt werden:

Beispiel

Verwendung separators Parameter, um die Standard-Trennzeichen zu ändern:

json.dumps(x, indent=4, separators=(". ", " = "))

Führen Sie ein Beispiel aus

Ergebnisse sortieren

json.dumps() Der Parameter bietet eine Möglichkeit, die Schlüssel in den Ergebnissen zu sortieren:

Beispiel

Verwendung sort_keys Parameter, um zu bestimmen, ob die Ergebnisse sortiert werden sollen:

json.dumps(x, indent=4, sort_keys=True)

Führen Sie ein Beispiel aus