2017-03-05 39 views
-1

我張貼以下JSON我燒瓶服務器:瓶 - Get_JSON改變分隔符

'{"on":false}' 

然後我用下面的代碼行返回JSON到HTTP將它放入另一臺設備在網絡上:

content = ("'" + str(request.get_json()) + "'").lower() 

然而,而不是返回預期:

'{"on":false}' 

它返回:

'{'on':false}' 

因此,JSON的含義是無效的,不起作用。在request.get_json()中有什麼我可以改變的地方,還是有不同的方法?

回答

1

你在這裏做了一些奇怪的事情。

get_json()自動將傳入的JSON字符串解析爲Python數據結構。然後你可以調用str,將它轉換回JSON而不是Python結構的表示。

現在,您可以可以請致電json.dumps而不是str,但最好避免將其從JSON轉換爲首位。代替使用request.get_json,請使用request.get_data;現在Flask不會解析來自JSON的內容,並且您的引號將被保留。

+0

我把它變成字符串的原因是因爲我不能在字典上添加撇號分隔符,並且我不確定是否有解決方法。 –

+0

你*不需要*添加任何「撇號分隔符」。我不知道你爲什麼這樣想;這正是將它標記爲字符串的原因。如果將其包裝在第二組引號中,則它在另一端不會是有效的JSON。 –

+0

好的,道歉。我看到它沒有工作正常。對不起。 –