Сериализация объекта до JSON с помощью JSONEncoder Python - PullRequest
0 голосов
/ 30 марта 2020

I sh для создания нового файла с данными в формате JSON, которые хранятся как объекты, я борюсь с сериализацией. Я попробовал трюк obj.__dict__, чтобы прекратить использование; Я получаю AttributeError. Вот объект:

class Product(object):
    def __init__(self, Price, description, End_of_auction, num_bids, HTVA, Req_HTVA, Location, Views, Pickup_date, Visit_date, Ref, list_url_pics, url):
        self.Price = Price
        self.Desc = description
        [...]

Я пытался написать класс кодера для использования, но у меня действительно есть время для того, чтобы gr asp идея. Я попробовал это:

class ProductEncoder(JSONEncoder):
    def default(self, obj):
        return obj.___dict__

Это эквивалентно уловке .__dict__, описанной выше. Поскольку весь мой класс в основном является хранилищем данных: список строк, строк и целых чисел, это должно быть выполнимо И все же я борюсь.

Наконец, я использую:

def MakeJSON(Products):
    for Product in Products:
        json.dump(Product, fp="/Products.json", cls=ProductEncoder)

для разбивки данных в файл. Спасибо!

...