【发布时间】:2015-06-16 20:55:10
【问题描述】:
我将字典传递给json.dumps,但它仍然抛出错误:
我什至在调用函数之前检查类型以确保它是字典类型。我正在使用 Flask 微框架并尝试将包含非常简单的 json 的 Response 对象返回给 ajax 请求:
$(document).ready(function() {
$.getJSON($SCRIPT_ROOT + '/getDictionary', function(data) {
console.log(data);
});
});
@app.route('/getDictionary')
def getDictionary():
empty_dic = {'empty' : 'dict'}
if type(empty_dic) is dict:
return Response(json.dumps(empty_dic), mimetype = "application/json")
【问题讨论】:
-
我尝试运行你的代码并得到
SyntaxError: 'return' outside function。 MCVE 请:-) -
您显然在这里使用了某种 Web 框架,并向我们展示了该框架的处理程序函数的片段,假设有
return Response(…)位。所以你必须告诉我们哪个框架。而且,正如@Kevin 所说,给我们一个完整的例子。其中包括完整的追溯。 (我的猜测是该框架实际上正在尝试做一些 JSON 的东西,异常来自框架内部,而不是您自己可能不需要的json.dumps,但这只不过是基于您的微不足道信息的猜测已经给了我们。) -
另外,这段代码中有一大堆错误——
emptyDic与emptydic应该给你一个NameError如果你幸运的话,或者使用一些完全不同的对象如果你'不;.encoded('utf8')而不是.encode肯定会给你一个AttributeError;等等。将您的示例归结为您实际询问的一个错误,或者甚至没有人可以为您调试该错误。
标签: python json dictionary typeerror