Big_Alex
@Big_Alex
молод и перспективен

Как импортировать python-обьект в JSON и обратно?

class AAA:
    pass

a = AAA

задача:
упаковать грамотно объект "а" в json файл.
пробовал конвертировать объект в строку, но при распаковке обратно получается строка, а хотелось бы рабочий объект получить на выходе..
import json

j = str(AAA())
json_j = json.dumps(j, indent=4)

with open('file.json', 'w') as f:
    json.dump(j, f, indent=4)

with open("file.json", "r") as f:
    data_again = json.load(f)
    f.close()

подсоветуте что не так ???..
  • Вопрос задан
  • 615 просмотров
Решения вопроса 2
@Andy_U
Сериализация в Питоне делается с помощью модуля pickle. Но это бинарный формат. Вот рабочий пример. В первом скрипте объект сохраняется в файл:

# -*- coding: utf-8 -*-
import pickle


class AAA(object):
    def __init__(self, name):
        self.name = name

a = AAA('original')
print(a, a.name)
with open('tst.pickle', 'wb') as f:
    pickle.dump(a, f)


Во втором - восстанавливается:

# -*- coding: utf-8 -*-
import pickle


class AAA(object):
    def __init__(self, name):
        self.name = name

with open('tst.pickle', 'rb') as f:
    b = pickle.load(f)
print(b, b.name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы