私のサーバーにJSON POSTリクエストを送信できません。Android非同期HttpクライアントのRequestParamsを使用したJSON配列
私のサーバーは、タイプとしてアプリケーション/ JSONとPOSTを受け入れ、一例は次のようになります:私は、RESTクライアントによってこれを送信する場合
{
"name": "Group4",
"users": [
{"email": "[email protected]"},
{"email": "[email protected]"},
]
}
は私が応答、細かいすべてとしてOK 200を取得します。
私のAndroidのクライアントは、私は、これはまさに私の例のようなJSONを作成する考えhttps://loopj.com/android-async-http/doc/com/loopj/android/http/RequestParams.html
RequestParams params = new RequestParams();
String userName = getUserName();
List<String> userList = getUserList();
params.put("name", userName);
JSONArray users = new JSONArray();
for(String user : userList) {
JSONObject obj = new JSONObject();
try {
obj.put("email", user);
} catch (JSONException e) {
// ...
}
users.put(obj);
}
params.put("users", users);
ここにあるAndroidの非同期HTTPライブラリ(http://loopj.com/android-async-http/)とRequestParamsクラスのドキュメントを使用しています。このRequestParamsのJSON文字列を取得できるかどうかはわかりません。私は唯一の文字列としてパラメータにアクセスすることができます。
name=Test&users=[{"email":"[email protected]"}, {"email":"[email protected]"}]
私のサーバーであっても、要求を受け入れ、エラーと直接失敗していない:
AttributeError: 'unicode' object has no attribute 'iteritems'
問題は私のポイントでなければなりませんRequestParamsを作成します。誰かがそれで間違っていることを教えてもらえますか?私は "users"という名前の配列を作成し、その中にキー値の項目を持つオブジェクトを追加する必要があると考えました。