/ / Python gibt einen String von json zurück - python, Unicode, Unicode-String, Python-Unicode

Python gibt einen String von json zurück - python, Unicode, Unicode-String, Python-Unicode

Ich habe ein Problem, zuerst habe ich eine API erstellt, die eine Postanfrage akzeptiert,
antwortet dann mit JSON als Ergebnis.

Post-Request-Daten wurden codiert, ich akzeptierte die Post-Daten und erhielt die Daten
Zu Recht, dann antworte ich mit den neuen Daten im JSON-Format.

Aber als ich den JSON zurückgab, fand ich heraus, dass die Zeichenkette ein Unicode-Format ist, z.

{
"a":"u00e3u0080"
}

aber ich möchte ein Format wie dieses bekommen:

{
"a":"ã"
}

Ich möchte dieses Format, weil ich festgestellt habe, dass dieses Unicode-Format in IE8 nicht gut funktioniert.

Ja, IE8.

Was kann ich für dieses Problem tun? Vielen Dank!

Antworten:

3 für die Antwort № 1

Wenn Sie die Standardbibliothek verwenden json Modul, spezifizieren ensure_ascii=False gib dir, was du willst.

Beispielsweise:

>>> print json.dumps({"a": u"ã"})
{"a": "u00e3"}
>>> print json.dumps({"a": u"ã"}, ensure_ascii=False)
{"a": "ã"}

Gemäß json.dump Dokumentation:

Ob use_ascii ist True (der Standardwert), alle Nicht-ASCII-Zeichenin dem Ausgabe wird mit uXXXX-Sequenzen maskiert, und das Ergebnis ist ein str Instanz, die nur aus ASCII-Zeichen besteht. Wenn use_ascii ist False, einige in fp geschriebene Chunks können Unicode-Instanzen sein. Dies In der Regel passiert, weil die Eingabe Unicode-Strings oder die enthält Kodierungsparameter wird verwendet. ...


BTW, was meinst du? "Unicode-Format funktionierte nicht gut in IE8,"?