Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 7, 2019 17:21:20

Sterh
Зарегистрирован: 2018-06-18
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

json dumps преобразует int в str

Здравствуйте!
Есть словарик вида:

 d = {1: ['раз', 'два'], 2: ['три', 'четыре']}

Ключи словаря имеют тип int
Далее сохраняю его в файл:

 corp_fold = str(progect_fold + '\\d.json')
with open(corp_fold, "w", encoding="utf-8") as file:
    json.dump(d, file)
    file.close

И в сохраненном файле ключи словаря уже имеют тип str, т.е. пишутся в файл с кавычками.
Что я делаю не так? Как сохранить именно с типом int?

Отредактировано Sterh (Авг. 7, 2019 17:21:45)

Офлайн

#2 Авг. 7, 2019 17:27:34

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

json dumps преобразует int в str

https://ru.wikipedia.org/wiki/JSON

Ключом может быть только строка (регистрозависимая: имена с буквами в разных регистрах считаются разными), значением — любая форм



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Авг. 7, 2019 17:32:27

Sterh
Зарегистрирован: 2018-06-18
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

json dumps преобразует int в str

Понял, спасибо!

Офлайн

#4 Авг. 7, 2019 20:07:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

json dumps преобразует int в str

Если вместо json будете сохранять yaml то тогда сможете использовать целые как ключи. А в остальном функционал json доступен в yaml.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version