Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich JSON-Daten in String-Objekte in Python 2?

Wie konvertiere ich JSON-Daten in String-Objekte in Python 2?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 06:38:29355Durchsuche

How to Convert JSON Data to String Objects in Python 2?

So erhalten Sie String-Objekte aus JSON in Python 2

Der Zugriff auf JSON-Daten mit Python kann trotz ASCII-codierter Textquellen zu Unicode-Objekten führen. Bestimmte Bibliotheken erfordern String-Objekte, was zu Kompatibilitätsproblemen führt.

Um dieses Problem in Python 2 zu beheben, sollten Sie PyYAML als alternativen JSON-Parser verwenden:

<code class="python">import yaml

json_str = '["a", "b"]'
data = yaml.safe_load(json_str)</code>

Ergebnisse:

['a', 'b']  # String objects

Hinweise:

  • PyYAML gibt String-Objekte für ASCII-codierte Daten zurück, aber Unicode-Objekte für Unicode-codierte Daten.
  • Verwenden Sie yaml.safe_load() für JSON-Dateien.
  • Für mehr Unterstützung mit YAML 1.2 und Parsing niedriger Zahlen verwenden Sie Ruamel YAML.

Konvertierung:

Wenn Sie ASCII-Werte nicht garantieren können, verwenden Sie eine Konvertierungsfunktion, um Zeichenfolgenobjekte sicherzustellen:

<code class="python">def to_str(obj):
    if isinstance(obj, unicode):
        return str(obj)
    elif isinstance(obj, list):
        return [to_str(item) for item in obj]
    elif isinstance(obj, dict):
        return {to_str(key): to_str(value) for key, value in obj.items()}
    else:
        return obj

data = json.loads(json_str, object_hook=to_str)</code>

Das obige ist der detaillierte Inhalt vonWie konvertiere ich JSON-Daten in String-Objekte in Python 2?. 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