Javascript 如何在python中将ObjectId转换为字符串?

Javascript 如何在python中将ObjectId转换为字符串?,javascript,python,json,serialization,Javascript,Python,Json,Serialization,我用json将结果传递给javascript。但是当我使用var myList={{pass|tmp | tojson | safe}}将结果转换为json时,有一个bug说TypeError:ObjectId(“”)不是json可序列化的。我读过这个问题。但是这个问题的情况与我的有点不同。我必须在flask模板中而不是python文件中将其转换为json。我必须使用命令var myList={{pass_tmp | tojson | safe}将其从html传递到javascript。因此我想

我用json将结果传递给javascript。但是当我使用
var myList={{pass|tmp | tojson | safe}}
将结果转换为json时,有一个bug说
TypeError:ObjectId(“”)不是json可序列化的
。我读过这个问题。但是这个问题的情况与我的有点不同。我必须在flask模板中而不是python文件中将其转换为json。我必须使用命令
var myList={{pass_tmp | tojson | safe}
将其从html传递到javascript。因此我想知道是否可以将
ObjectId
转换为
String
? 以下是我的Flask应用程序代码:

@app.route('/details/', methods=['GET'])
def details():
    if request.method == 'GET':
        mongoClient = pymongo.MongoClient('localhost', 27017)
        name = session['name']
        print name
        db = mongoClient[name]
        results = db[name].find()
        json_results= []
        for result in results:
            json_results.append(result)
        # json_tmp = toJson(json_results)
        return render_template('details.html', pass_tmp=json_results)
以下是我的模板(javascript)代码:

var myList={{pass|tmp|tojson|safe}
//从Ivy restful服务的myList json数据构建HTML表。
函数buildHtmlTable(){
var columns=addAllColumnHeaders(myList);
对于(变量i=0;i

那么,有人对解决这个问题有什么好的建议吗?

我通过将json传递到模板而不是结果来解决这个问题

   @app.route('/details/', methods=['GET'])
def details():
    if request.method == 'GET':
        mongoClient = pymongo.MongoClient('localhost', 27017)
        name = session['name']
        print name
        db = mongoClient[name]
        results = db[name].find()
        json_results= []
        for result in results:
            json_results.append(result)
        json_tmp = toJson(json_results)
        return render_template('details.html', pass_tmp=json_tmp)
并在模板中使用此选项:
var myList={{pass|tmp | safe}}
而不是
var myList={{pass|tmp | tojson | safe}

我只需将json传递到模板而不是结果,就解决了这个问题

   @app.route('/details/', methods=['GET'])
def details():
    if request.method == 'GET':
        mongoClient = pymongo.MongoClient('localhost', 27017)
        name = session['name']
        print name
        db = mongoClient[name]
        results = db[name].find()
        json_results= []
        for result in results:
            json_results.append(result)
        json_tmp = toJson(json_results)
        return render_template('details.html', pass_tmp=json_tmp)
并在模板中使用此选项:
var myList={{pass|tmp | safe}}
而不是
var myList={{pass|tmp | tojson | safe}}

试试看。我没有信心。我已经解决了这个问题,只需将json传递给模板~~~谢谢你的帮助,无论如何,请尝试一下。我没有信心。我已经通过将json传递给模板解决了这个问题~~~谢谢你的帮助