2012-08-29 163 views
0

这里是我的Python模块:如何从Python函数返回对象作为JSON对象?

#!/usr/bin/python 

import rpy2.robjects as robjects 
import MySQLdb as mdb 
import json 
import rpy2.robjects.vectors as ro 
r= robjects.r 

class Deviation: 
    def __init__(self): 
     print("Standard Deviation") 

    def s_deviation(self): 
     con = mdb.connect('localhost', 'root', 'devil', 'data')   
     cursor = con.cursor() 
     cursor.execute("SELECT * FROM traffic") 
     rows = cursor.fetchall() 
     rows = list(rows) 
     a = [x[1] for x in rows] 
     result = ro.IntVector(a) 
     a = r.sd(result) 
     print a 

def deviation(): 
    dev = Deviation() 
    deviation = dev.s_deviation() 

功能偏差()从该模块调用返回时,结果为R向量。我如何让这个返回Json对象的结果? 谢谢!

+4

你的函数没有返回任何东西。 – halex

回答

1

使用json.dumpssimplejson.dumps(取决于您的python版本)。 你这样使用它:

>> print(simplejson.dumps({ "dev": dev.s_deviation() })) 
'{"dev":1.456}'