Словарь python jsonify в utf-8

Я хочу получить данные json в utf-8

У меня есть список my_list = []

а затем многие добавляют значения unicode в список, подобные этому

 my_list.append(u'ტესტ') return jsonify(result=my_list) 

и он получает

 { "result": [ "\u10e2\u10d4\u10e1\u10e2", "\u10e2\u10dd\u10db\u10d0\u10e8\u10d5\u10d8\u10da\u10d8" ] } 

3 Solutions collect form web for “Словарь python jsonify в utf-8”

Вместо этого используйте стандартный json модуль стандартной библиотеки и установите для параметра ключевого слова ensure_ascii значение False при кодировании:

 >>> data = u'\u10e2\u10d4\u10e1\u10e2' >>> import json >>> json.dumps(data) '"\\u10e2\\u10d4\\u10e1\\u10e2"' >>> json.dumps(data, ensure_ascii=False) u'"\u10e2\u10d4\u10e1\u10e2"' >>> print json.dumps(data, ensure_ascii=False) "ტესტ" >>> json.dumps(data, ensure_ascii=False).encode('utf8') '"\xe1\x83\xa2\xe1\x83\x94\xe1\x83\xa1\xe1\x83\xa2"' 

Обратите внимание, что вам все равно необходимо явно кодировать результат в UTF8, потому что функция dumps() возвращает объект unicode в этом случае.

Используйте следующую конфигурацию, чтобы добавить поддержку UTF-8:

 app.config['JSON_AS_ASCII'] = False 

Если вы все еще хотите использовать json user flask и обеспечить кодировку utf-8, вы можете сделать что-то вроде этого:

 from flask import json,Response @app.route("/") def hello(): my_list = [] my_list.append(u'ტესტ') data = { "result" : my_list} json_string = json.dumps(data,ensure_ascii = False) #creating a Response object to set the content type and the encoding response = Response(json_response,content_type="application/json; charset=utf-8" ) return response 

надеюсь, это поможет

  • Каков правильный способ использования символов Юникода в регулярном выражении python
  • Как отобразить utf-8 в консоли Windows
  • Должен ли я использовать объявление кодирования в Python3?
  • Python - обнаружить кодировку и преобразовать в utf-8
  • Python открывает CSV-файл с предположительно смешанными кодировками?
  • Почему Python настаивает на использовании ascii?
  • Ansi для UTF-8 с использованием ошибки python
  • UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xc5' в позиции 35: порядковый номер не в диапазоне (128)
  • Python и UTF-8: что-то путать
  • Строки Python и кодирование и декодирование str ()
  • Что такое строка в Юникоде?
  • Python - лучший язык программирования в мире.