画像に加えて、かなり大きなJSON POSTパラメーター(数百文字の長さ)をblobstoreURLを介してAppEngineインスタンスに送信しているiOSアプリがあります。
何らかの理由で、self.request.get('foo')によって返されるJSON文字列には、76文字ごとにキャリッジリターン(つまり、10進値が13の文字)が挿入されています。これにより、JSONパーサーが制御文字に関するエラーをスローします。なぜこれが起こっているのですか、それを止める方法はありますか?
プロキシを使用してHTTPリクエストを検査し、JSON文字列が正しくフォーマットされているため、アプリがこれらの文字を追加していないことはかなり確信しています。
ありがとう!
編集:
実際には75文字ごとに=\r \ nが追加されていることがわかりました。これにより、AppEngineのblobstoreのバグへのポインタを含む別のSOの質問が表示されます。
これは複製です(djangoではなくwebapp2にある場合を除く):データはフォーム送信時に破損します、= \ r \ n 75文字ごとにデータに導入されますか?
そして、解決策は次のとおりです。マルチパート/フォームデータフォームを送信する際のAppEngineでのエンコーディングの問題