Heim >Backend-Entwicklung >Python-Tutorial >Wie erhalte ich String-Objekte von JSON in Python 2?
So rufen Sie String-Objekte aus JSON in Python 2 ab
Beim Parsen von JSON-Daten aus ASCII-codierten Textdateien in Python 2 können Sie möglicherweise stoßen auf das Problem, dass Zeichenfolgenwerte in Unicode-Objekte umgewandelt werden. Dies kann problematisch sein, wenn Sie mit Bibliotheken arbeiten, die nur String-Objekte akzeptieren.
Eine einfache Lösung: PyYAML
Um dieses Problem zu lösen, können Sie die PyYAML-Bibliothek nutzen. Da JSON eine Teilmenge von YAML ist, kann PyYAML verwendet werden, um JSON-Dateien zu analysieren und Schlüssel und Werte als Zeichenfolgen anstelle von Unicode-Objekten zurückzugeben. Hier ist ein Beispiel:
<code class="python">import yaml original_list = ['a', 'b'] yaml_list = yaml.safe_load(yaml.dump(original_list)) print(type(yaml_list[0])) # Output: <class 'str'></code>
Konvertierungsansätze
Wenn Sie PyYAML nicht verwenden können, ziehen Sie die Verwendung einer Konvertierungsfunktion in Betracht. Die Konvertierungsfunktion von Mark Amery ist unkompliziert und effektiv:
<code class="python">def unicode_to_str(obj): if isinstance(obj, unicode): return obj.encode('utf-8') elif isinstance(obj, list): return [unicode_to_str(x) for x in obj] elif isinstance(obj, dict): return {unicode_to_str(k): unicode_to_str(v) for k, v in obj.items()} return obj</code>
Vorbehalte:
Das obige ist der detaillierte Inhalt vonWie erhalte ich String-Objekte von JSON in Python 2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!