Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich String-Objekte aus JSON in Python 2 ab?

Wie rufe ich String-Objekte aus JSON in Python 2 ab?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 23:49:30237Durchsuche

How to Retrieve String Objects from JSON in Python 2?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn