Я пытаюсь сериализовать результат (список) запроса sqlalchemy в json.
это класс:
class Wikilink(Base):
__tablename__='Wikilinks'
__table_args__={'extend_existing':True}
id = Column(Integer,autoincrement=True,primary_key=True)
title = Column(Unicode(350))
user_ip = Column(String(50))
page = Column(String(20))
revision = Column(String(20))
timestamp = Column(String(50))
и я думаю, моя проблема с функцией __repr__(self):
.
Я пробовал что-то вроде:
return '{{0}:{"title":{1}, "Ip":{2}, "page":{3} ,"revision":{4}}}'.format(self.id,self.title.encode('utf-8'),self.user_ip,self.page,self.revision)
или
return '{"id"={0}, "title"={1}, "Ip"={2}}'.format(self.id,self.title.encode('utf-8'),self.user_ip.encode('utf-8'),self.page,self.revision)
и я получил:
TypeError(repr(o) + " is not JSON serializable")
ValueError: Single '}' encountered in format string
Я пытался:
return '{id=%d, title=%s, Ip=%s}'%(self.id,self.title.encode('utf-8'),self.user_ip.encode('utf-8'))
и я получил:
TypeError: {id=8126, title=1 בדצמבר, Ip=147.237.70.106} is not JSON serializable
добавление "" вокруг (в соответствии с форматированием JSON) следующим образом: "id"="%d", "title"="%s", "Ip"="%s"
тоже не помогло.
Я знаю, это должно быть очень просто, но я просто не могу понять это правильно
фактически бутылка автоматически обрабатывает часть jsonification, но попытка вызвать json.dumps для результата дает мне те же ошибки.