Pythonを使用してAPIへのクエリを自動化しようとしています。問題は、リクエストを特別な方法で作成する必要があり、私はそれを動作させることができないということです。これは私が問題を作り出している文字列の一部です。Pythonはを使用して文字列を作成し、jsonリクエストで送信します
payload = "{\n \"filter\": {\n \"name\":[\"name1\", \"name2\"]\n }"
ここで、name1とname2は可変であり、リストから作成されます。私はそれを行うことを試みた方法は、単に最初これが機能
def create_string(list_of_names):
#Creates the string of line items we want data from
start = '[\\"%s\\"' % list_of_names[0]
for i in list_of_names[1 : ]:
start += ', \\"%s\\"' %(i)
start += "]"
return start
list_of_names = ['name1', 'name2']
そして単なる文字列にそれを追加して%sの一部を使用している
[\"name1\", \"name2\"]
を作成するための関数を作成することでした。
payload = "{\n \"filter\": {\n \"name\":%s\n }" % create_string(list_of_names)
このdoesntの仕事は、私は、これは、\はPythonでどのように使用されるかとは何かを持っていると考えることができます。
create_string関数は、印刷しているかどうかに応じて異なる出力を作成します。
a = create_string(list_of_names)
print(a)
は、私は%sの
[\"name1\", \"name2\", \"name3\"]
そして、ちょうど出力
'[\\"name1\\", \\"name2\\", \\"name3\\"]'
だから私の問題は、プリントを渡す方法を、その後である(a)の一部を使用して渡す必要があり、文字列を作成します。ペイロード文字列に追加します。誰にもこれに対する解決策がありますか?代わりに手であなたのペイロードを作成する
jsonモジュールを使用しないようにする理由がありますか? 'import json; str = json.dumps({'filter':{'name':list_of_names}}) ' –