我将以下JSON发布到我的烧瓶服务器:
'{"on":false}'
然后我使用以下代码行将JSON返回到HTTP PUT到网络上的另一个设备:
content = ("'" + str(request.get_json()) + "'").lower()
但是,而不是返回预期的:
'{"on":false}'
它返回:
'{'on':false}'
因此意味着JSON无效且不起作用。我可以在request.get_json()中更改某些内容吗?或者有不同的方法吗?
答案 0 :(得分:1)
你在这里做了一些奇怪的事情。
get_json()
自动将传入的JSON字符串解析为Python数据结构。然后,在其上调用str
,将其转换回JSON,而不是转换为Python结构的表示。
现在,您可以调用json.dumps
而不是str
,但最好避免首先将其从JSON转换。不使用request.get_json
,而是使用request.get_data
;现在,Flask不会解析JSON中的内容,并且会保留您的引号。