我在web.py中玩一个小型Web应用程序,并且正在设置一个URL以返回JSON对象。使用python将SQL表转换为JSON的最佳方法是什么?
就个人而言,我更喜欢使用SQLObject进行此类操作。我改编了一些必须快速完成的测试代码:
import simplejson from sqlobject import * # Replace this with the URI for your actual database connection = connectionForURI('sqlite:/:memory:') sqlhub.processConnection = connection # This defines the columns for your database table. See SQLObject docs for how it # does its conversions for class attributes <-> database columns (underscores to camel # case, generally) class Song(SQLObject): name = StringCol() artist = StringCol() album = StringCol() # Create fake data for demo - this is not needed for the real thing def MakeFakeDB(): Song.createTable() s1 = Song(name="B Song", artist="Artist1", album="Album1") s2 = Song(name="A Song", artist="Artist2", album="Album2") def Main(): # This is an iterable, not a list all_songs = Song.select().orderBy(Song.q.name) songs_as_dict = [] for song in all_songs: song_as_dict = { 'name' : song.name, 'artist' : song.artist, 'album' : song.album} songs_as_dict.append(song_as_dict) print simplejson.dumps(songs_as_dict) if __name__ == "__main__": MakeFakeDB() Main()