Содржина на објавата
Порой бывает необходимо работать с JSON файлами ручками, читая или изменяя данные. И очень не удобно, когда юникод в файле записан в виде кодированных символов. >>> import json >>> data = {'title': 'Привет Медвед!'} >>> print(json.dumps(data)) '{"title": "\\u041f\\u0440\\u0438\\u0432\\u0435\\u0442 \\u041c\\u0435\\u0434\\u0432\\u0435\\u0434!"}' Эх, безобразие! Ни прочитать нормально, ни поправить. Чтобы такое поведение изменить, достаточно добавить аргумент ensure_ascii=False >>> json.dumps(data, ensure_ascii=False) '{"title": "Привет Медвед!"}' Теперь символы не кодируются в Unicode. В файл запишется в таком же виде. ____________________ Для тех кто в танке (всё еще на Python 2🚂 ). Строку следует делать как unicode, и для записи в файл использовать модуль codecs. >>> import json, codecs >>> data = {'title': u'Привет Медвед!'} >>> with codecs.open(path, "w", encoding='utf-8') as f: >>> json.dump(data, f, ensure_ascii=False) #libs#tricks