object = {'score-set': [('SomeString', 1.0)], 'n': 10, 'num-found': 1, 'start': 0}
type(object) is dict.
当我在命令行中执行此操作时 传入json.dump(对象,F)
其中f是可写的打开文件。我完全得到了文件中的转储。
但是在这样的上下文中的程序中:
def JSONresponse(object,request,jsonIndent=None):
r=HttpResponse(mimetype="application/json")
callback1=request.GET["jsoncallback"] if "jsoncallback" in request.GET else None
callback2=request.GET["callback"] if "callback" in request.GET else None
callback = callback1 or callback2
if callback and len(callback) > 1:
r.write(callback + "(")
json.dump(object,r,indent=jsonIndent)
r.write(");")
else:
json.dump(object,r,indent=jsonIndent)
r.write("\n")
return r
我在json.dump行上遇到以下异常。
Exception Value: 1.0 is not JSON serializable
任何提示都会非常感激,
非常感谢,
答案 0 :(得分:3)
我猜你的float
实际上不是float
,但在某些方面表现得与此类似。在序列化之前尝试将其转换为float
:
object['score-set'] = [(a, float(b)) for (a, b) in object['score-set']]