Ich bin heute auf ein Problem bei der Verwendung der JSON-Konvertierung in Python gestoßen:
Erhalten Sie die JSON-Zeichenfolge eines Beitrags:
s={"username":"admin","password" : „password“, „tenantid“: „}
Verwenden Sie die JSON-Bibliothek, die mit Python geliefert wird
import json >>> a=json.loads(s) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/json/__init__.py", line 326, in loads return _default_decoder.decode(s) File "/usr/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) TypeError: expected string or buffer >>>
Fehler!
Ich bin verwirrt. Nach dem Debuggen wurde schließlich festgestellt, dass in Python standardmäßig einfache Anführungszeichen zur Darstellung der Zeichenfolge „'“ verwendet werden
Daher wandelt Python bei Verwendung des Zeichenfolgenzeichenwerts doppelte Anführungszeichen in einfache Anführungszeichen
> >> s={"username": "admin", "password": "password", "tenantid": "}>>> print s {'username': 'admin', 'password': 'password', 'tenantid': ''}Und JSON unterstützt keine einfachen Anführungszeichen.