在python中将SQL表返回为JSON

我在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()

以上是 在python中将SQL表返回为JSON 的全部内容, 来源链接: utcz.com/qa/405580.html

回到顶部