私はurlencodeに関する質問があります。ここでは一例です:だからurllib.urlencodeを一重引用符ではなく二重引用符で囲みます。
、私はこれを取得:
examresult=%7B%27spendTime%27%3A+911%2C+%27choice%27%3A+%5B%5B1593%2C+%5B0%5D%2C+False%2C+783%5D%2C+%5B1591%2C+%5B2%5D%2C+False%2C+2%5D%5D%7D&submit=true&summary=%7B%27wrong%27%3A+2%2C+%27correct%27%3A+0%7D&taskid=10&action=task_exam_save_result&examid=5
その後、私はURLデコードのためのhttp://tool.chinaz.com/tools/urlencode.aspxに上記の文字列をコピーし、この取得:だから
examresult={'spendTime': 911, 'choice': [[1593, [0], false, 783],
[1591, [2], false, 2]]}&submit=true&summary={'wrong': 2, 'correct':
0}&taskid=10&action=task_exam_save_result&examid=5
を、すべての二重引用符は一重引用符になります。どうして?
デコードされた文字列を他のプログラミング言語に転送する必要があるため、二重引用符を使用します。 JavaとObjective Cを解析し、その文字列には二重引用符が必要です。
どうすればよいですか?
urllib.urlencodeの引数は、無効なdictであるため、訂正してください。 '、" t2]、False、2]]、 "spendTime" '正しいことを提案します;-) PS:あなたは最初の結果を得るのではなく、代わりに' SyntaxError:これは最初の無効な文字であるため、spendTimeの断片をスニペットします。 – Dilettant
Pythonは、dictリテラルで '' 'を使用しても、その情報はdictの一部として保存されません。 '{'a'、 'c'、 't'、 'i'、 'o'、 'n'}): 'task ...'}'は同じ結果を返します。 – deceze