Ist JSON-Syntax eine strenge Teilmenge der Python-Syntax?

JSON ist der Python-Syntax sehr ähnlich. Können alle JSON Objekte direkt in Python ohne Fehler umwandeln?

Beispiel

Das folgende ist ein gültiges JSON-Objekt:

// Valid JSON {"foo":"bar"} 

Dieses Objekt wird direkt in ein Python-Wörterbuch mit dem Schlüssel "foo" und Wert "bar" übersetzt:

 # Python json_dict = eval('{"foo":"bar"}') 

2 Solutions collect form web for “Ist JSON-Syntax eine strenge Teilmenge der Python-Syntax?”

Nein. Insbesondere, true , false und null sind nicht Python, obwohl sie direkte Äquivalente in Python ( True , False und None ) haben.

 // Valid JSON {"sky_is_blue":true} 

Aber wenn in Python verwendet …

 # Python >>> json_dict = eval('{"sky_is_blue":true}') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'true' is not defined 

Diese Frage wurde beantwortet (und die Antwort akzeptiert) bereits, aber ich möchte darauf hinweisen, dass das Problem von true , false und null nicht Python kann durch die Verwendung der folgenden Code vor der Auswertung von JSON überwunden werden:

 true = True false = False null = None 

Natürlich ist ein JSON-Parser noch besser.

  • In Python, wie mache ich Unterprozeß statt os.system?
  • Aufruf einer Python-Funktion mit * args, ** kwargs und optionalen / default Argumenten
  • Was bedeutet << in Python?
  • Mit Dekorateure auf Lambdas in Python?
  • Setzen einer einfachen if-then-Anweisung auf einer Zeile [duplizieren]
  • Wie bekomme ich mehr Kontrolle über Schleifenschritte in Python?
  • Kann nicht "Syntastic" vim Plugin zu arbeiten
  • Ruby Methoden gleichbedeutend mit "if a in list" in python?
  • Gibt es einen Unterschied zwischen "weiter" und "pass" in einer for-Schleife in Python?
  • Was ist :: (Doppelkolon) in Python bei der Abrechnung von Sequenzen?
  • Wie kann man sagen, ob ein String gültigen Python-Code enthält
  • Python ist die beste Programmiersprache der Welt.