2017-06-28 6 views
-1

検索ページのサーバーが(要素の検査によって)動作する方法を分析しています。要求がJSONをパラメータとしてPOSTで送信されていると判断できます。 次に、Insomniaを使用して同じPOST(同じパラメータで)をシミュレートしました。それは成功しましたが、応答JSON文字列として、現在は引用符を使用する代わりに「\使用するJSON、変数の内側に来たJSONが引用符と正規表現でサーバーから来ています

JSONレスポンスの例:。

"{\"AudienceRefiner\":{\"ItemCount\":0}}" 

がどのように私はこれを読むことができますPythonの

+0

JSONを使います'\\' **を使用して引用符を使用しています –

+0

いくつかのオブジェクトが二重のJSONifiedのように見えます –

答えて

0

それはオブジェクトにそれを解析するために、ASTライブラリを使用することを検討して、ちょうどエスケープ文字である

literal_eval:?。

Pythonリテラルまたはコンテナ表示を含む式ノード、UnicodeまたはLatin-1でエンコードされた 文字列を安全に評価します。それについての詳細は

import ast 
st = "{\"AudienceRefiner\":{\"ItemCount\":0}}" 

obj = ast.literal_eval(st) 
print (obj) 
>>> {'AudienceRefiner': {'ItemCount': 0}} 

、私はあなたが"{\"AudienceRefiner\":{\"ItemCount\":0}}"を得たところ、私はそののpythonが、ウェブブラウザではないことを推測することを確認していないast.literal_eval

+0

ありがとう、この名前を知らなかった –

0

をお読みください。 **あなたは、内側の二重にエスケープする必要があります:JSON文字列オブジェクトである場合はとにかくちょうどあなたが区切り文字として二重引用符を持っている文字列内( `" `)二重引用符を置くつもりですどのよう

import json 
di = json.loads("{\"AudienceRefiner\":{\"ItemCount\":0}}") 
+0

Pythonではなく要求に対してInsomniaを使用しました。しかし、今は明らかです。ありがとう。 –

関連する問題