Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 15, 2015 09:57:54

fuzeg
Зарегистрирован: 2015-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Кирилица и Json

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

d = {'a':'текст',
'b':{
'a':'текст2',
'b':'текст3'
}}
print(str(d))

w = open('log', 'w')
json.dump(d,w)
w.close()


В итоге получаю:
{“a”: “\u0442\u0435\u043a\u0441\u0442”, “b”: {“a”: “\u0442\u0435\u043a\u0441\u04422”, “b”: “\u0442\u0435\u043a\u0441\u04423”}}

Если не сложно то подскажите пожалуйста решение этой проблемы или посоветуйте нормальный язык.

Офлайн

#2 Окт. 15, 2015 10:02:02

WoMax
Зарегистрирован: 2014-05-26
Сообщения: 124
Репутация: +  9  -
Профиль   Отправить e-mail  

Кирилица и Json

fuzeg
или посоветуйте нормальный язык.
учи албанский

Офлайн

#3 Окт. 15, 2015 10:05:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Кирилица и Json

>>> import json
>>> 
>>> d = {'a':'текст',
...      'b':{
...          'a':'текст2',
...          'b':'текст3'
...      }}
>>> 
>>> print(d)
{'b': {'b': 'текст3', 'a': 'текст2'}, 'a': 'текст'}
>>> 
>>> json.dumps(d)
'{"b": {"b": "\\u0442\\u0435\\u043a\\u0441\\u04423", "a": "\\u0442\\u0435\\u043a\\u0441\\u04422"}, "a": "\\u0442\\u0435\\u043a\\u0441\\u0442"}'
>>> json.dumps(d, ensure_ascii=False)
'{"b": {"b": "текст3", "a": "текст2"}, "a": "текст"}'
>>>



Офлайн

#4 Окт. 15, 2015 11:08:58

fuzeg
Зарегистрирован: 2015-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Кирилица и Json

py.user.next

Пробывал уже.
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 1-5: ordinal not in range(128)

Офлайн

#5 Окт. 15, 2015 11:15:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Кирилица и Json

fuzeg
UnicodeEncodeError: 'ascii' codec can't encode characters
При открытии файла нужно указать кодировку.



Отредактировано py.user.next (Окт. 15, 2015 11:15:34)

Офлайн

#6 Окт. 15, 2015 11:23:30

fuzeg
Зарегистрирован: 2015-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Кирилица и Json

Благодарю, сработало, два дня потратил на решение этой сверх-сложной сверх-задачи.

Отредактировано fuzeg (Окт. 15, 2015 11:24:20)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version