0

のパラメーターを渡してからuserID、の形式で応答を取得しようとしていますJSON

したがってuserID=1、応答は次のようになり [{"carname":"Honda","carmodel":"Civic"}]userID=5応答は次のようになります。 [{"carname":"Honda","carmodel":"Civic"},{"carname":"VW","carmodel":"Golf"},{"carname":"Ford","carmodel":"Focus"}]

しかし、何らかの理由で、パラメーターが渡されていません。渡されている場合は、値を取得できませんJSON

これは以下の私のコードです:

public void getComments(int userID){
    String passURL = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest
            (passURL, new Response.Listener<JSONArray>(){

                @Override
                public void onResponse(JSONArray jsonArray) {
                    try {
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject jsonObject = jsonArray.getJSONObject(i);

                            String carName = jsonObject.getString("carname");
                            String carModel = jsonObject.getString("carmodel");
                            UserStore userStore = new UserStore(carName, carModel);
                            list.add(userStore);
                            adapter.notifyDataSetChanged();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError volleyError) {

                }

            }) {
        protected Map<String, String> getParams() {
            Map<String, String> params = new HashMap<>();
            params.put("userID", Integer.toString(userID));
            return params;
        }
    };
    requestQueue.add(jsonArrayRequest);
}

パラメータを渡した後、配列から応答を取得しようとしているという事実と関係があると思われます。私のphp作品Postman

4

1 に答える 1

0

mcxiaokeライブラリ バージョン 1.0.14 以降の使用

JsonArrayRequest

以下のように、メソッドを JsonArrayRequest の Post として設定する必要があります。

JsonArrayRequest jsonArrReq = new JsonArrayRequest(Method.POST,
url, null,new Response.Listener<JSONArray>() 
{
......
//onResponse
......
}

getParams()

@Override
protected Map<String, String> getParams() {
     Map<String, String> params = new HashMap<String, String>();
     params.put("user", "Android");
     return params;
}
于 2016-03-14T16:57:19.733 に答える