аватар question@mail.ru · 01.01.1970 03:00

Как отключить замену кириллицы на \uXXXX в строках при конвертации в JSON

При попытке форматированного вывода JSON с помощью dump, перестают отображаться русские символы. Появляется что-то типа ""произвольное поле, например Address"": ""\u0443\u043b\u0438\u0446\u0430 \u041c\u0430 и т.д.""

n

Пробовал json.dumps().encode(""utf8"") и codac convert - ничего не помогает.

n
def load_data(filepath):n    with open(filepath, 'r', encoding='utf-8') as fh:  n        data = json.load(fh)  # загружаем из файла данные в словарь datan    retu datandef pretty_print_json(data):n    inf = json.dumps(data,sort_keys=False,indent=4, separators=(',', ': '))n    retu inf   n
аватар answer@mail.ru · 01.01.1970 03:00

Воспользуйтесь параметром :

Из :

If ensure_ascii is true (the default), the output is guaranteed to have all incoming non-ASCII characters escaped. If ensure_ascii is false, these characters will be output as-is.

Пример:

In [41]: with open(fn, 'r', encoding='utf-8') as f:    ...:     data = json.load(f)    ...:    ...: print(json.dumps(data,    ...:                  sort_keys=False,    ...:                  indent=4,    ...:                  separators=(',', ': ')))    ...:{    ""\u043f\u0440\u0438\u043c\u0435\u0440"": {        ""\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a"": ""\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043b\u043e\u0432\u0430\u0440\u044f"",        ""\u0441\u043f\u0438\u0441\u043e\u043a"": [            ""\u044d\u043b\u0435\u043c\u0435\u043d\u0442 1"",            ""\u044d\u043b\u0435\u043c\u0435\u043d\u0442 2""        ]    }}In [42]: print(json.dumps(data,    ...:                  sort_keys=False,    ...:                  indent=4,    ...:                  ensure_ascii=False,    ...:                  separators=(',', ': ')))    ...:{    ""пример"": {        ""Заголовок"": ""пример словаря"",        ""список"": [            ""элемент 1"",            ""элемент 2""        ]    }}

JSON file:

{    ""пример"": {        ""Заголовок"": ""пример словаря"",        ""список"": [""элемент 1"", ""элемент 2""]    }}

Последние

Похожие