我正在尝试请求会话信息,并且可以在 python 控制台上打印出会话信息,但无法在服务器端点上返回会话信息。该错误表示该对象不是 JSON 可序列化的。这是错误消息:
TypeError: Object of type ListVector is not JSON serializable
我发现这篇文章与我的帖子相关,我尝试了它的解决方案,但它对我不起作用。如何转换rpy2.ListVector
为可JSON
序列化的字典?任何解决方案?
我的尝试:
from flask import Flask, jsonify, request
from flask_restplus import Api, Resource
import json
##
import os
os.environ['PYTHONHOME'] = r"C:\Users\me\AppData\Local\Programs\Python\Python37"
os.environ['PYTHONPATH'] = r"C:\Users\me\AppData\Local\Programs\Python\Python37\Lib\site-packages"
os.environ['R_HOME'] = r"C:\Program Files\R\R-3.3.2"
os.environ['R_USER'] = r"C:\Users\me\AppData\Local\Programs\Python\Python37\Lib\site-packages\rpy2"
##
app = Flask(__name__)
api = Api(app)
ns = api.namespace('ns')
## load R function
import rpy2
import rpy2.robjects as robjects
@api.route('/')
class AResource(Resource):
def post(self):
sess = robjects.r("sessionInfo()")
return jsonify({'sessioninfo': sess})
if __name__ == '__main__':
api.add_namespace(ns)
app.run(debug=True)
在这里,我只是简单地向服务器端点发出请求,我可以在控制台上打印出会话信息,但无法在服务器端点上返回它。我怎样才能使这项工作?有什么快速的想法吗?谢谢
是否有任何可能的解决方案来解决此错误?任何想法?
明月笑刀无情
相关分类