Heim > Artikel > Backend-Entwicklung > Wie rufe ich String-Objekte aus JSON in Python 2 ab?
Abrufen von String-Objekten aus JSON in Python 2
Beim Parsen von JSON in Python 2 aus ASCII-codierten Textdateien werden String-Werte automatisch umgewandelt zu Unicode-Objekten. Dies kann bei der Kommunikation mit Bibliotheken, die ausschließlich String-Objekte akzeptieren, ein Problem darstellen.
Während ein Update auf Python 3 oder die Verwendung einer Konvertierungsfunktion praktikable Lösungen sind, besteht eine andere Option darin, PyYAML zu nutzen. PyYAML bietet einen direkteren Ansatz, indem es String-Objekte als Schlüssel und Werte für JSON-Dateien zurückgibt:
<code class="python">import yaml list_org = ['a', 'b'] list_dump = json.dumps(list_org) json_result = json.loads(list_dump) yaml_result = yaml.safe_load(list_dump) print(json_result, type(json_result)) # [u'a', u'b'], <type 'list'> print(yaml_result, type(yaml_result)) # ['a', 'b'], <type 'list'></code>
Beachten Sie, dass die Ladefunktion von PyYAML durch „safe_load“ ersetzt werden muss, um die Kompatibilität mit JSON sicherzustellen. Während ASCII-codierte Einträge zu String-Objekten führen, führt die Verwendung von Unicode-codierten Einträgen weiterhin zu Unicode-Objekten.
Wenn die Konvertierung von String-Objekten in Unicode-Objekte erforderlich ist, kann die Konvertierungsfunktion von Mark Amery verwendet werden:
<code class="python">from mark_amery import unicode_to_str json_list = json.loads(json_list) str_list = unicode_to_str(unicode_list)</code>
Das obige ist der detaillierte Inhalt vonWie rufe ich String-Objekte aus JSON in Python 2 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!