post - ভোলি JSONObject পোস্টার পদ্ধতিতে সার্ভারে প্রেরণ করে




android-volley (2)

আমি ভলির লাইব্রেরি {"user_id": 12, "উত্তর": {"11": 3, "12": 4, "13": 5} using ব্যবহার করে সার্ভারে নীচের ফর্ম্যাট সহ একটি জসোসোবজেক্ট পাঠাতে চাই want

JSONObject object = new JSONObject();

            try {
                object.put("user_id", user_id);
                JSONObject answers = new JSONObject();
               for (int i = 0; i < questions.size(); i++) {
                    JSONObject answer = new JSONObject();
                    answer.put(questions.get(i).getId(),questions.get(i).getAnswer());
                    answers.put("answers", answer);
                    object.put("answers", answer);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

যদি আমি স্ট্রিংরেউকেষ্টটি ব্যবহার করতে চাই তবে আমি কীভাবে এই পোস্টার পদ্ধতি ব্যবহার করে এই জসনঅবজেক্টটিকে সার্ভারে প্রেরণ করব?


আপনি নিম্নলিখিত কাজের নমুনা কোড ব্যবহার করতে পারেন। আমি পরীক্ষা করেছি। আশাকরি এটা সাহায্য করবে!

       try {
            jsonBody = new JSONObject();
            jsonBody.put("Title", "VolleyApp Android Demo");
            jsonBody.put("Author", "BNK");
            jsonBody.put("Date", "2015/08/26");
            requestBody = jsonBody.toString();

            StringRequest stringRequest = new StringRequest(1, url, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    textView.setText(response);
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    textView.setText(error.toString());
                }
            }) {
                @Override
                public String getBodyContentType() {
                    return String.format("application/json; charset=utf-8");
                }

                @Override
                public byte[] getBody() throws AuthFailureError {
                    try {
                        return requestBody == null ? null : requestBody.getBytes("utf-8");
                    } catch (UnsupportedEncodingException uee) {
                        VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s",
                                requestBody, "utf-8");
                        return null;
                    }
                }
            };
            MySingleton.getInstance(this).addToRequestQueue(stringRequest);
        } catch (JSONException e) {
            e.printStackTrace();
        }

আপডেট: আপনার প্রয়োজন হিসাবে JSONObject তৈরি করতে, নিম্নলিখিত ব্যবহার করুন:

        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("11", 3);
            jsonObject.put("12", 4);
            jsonObject.put("13", 5);

            JSONObject jsonObject2 = new JSONObject().put("answers", jsonObject);
            jsonObject2.put("user_id", 12);            
        } catch (JSONException e) {
            e.printStackTrace();
        }

নিম্নলিখিত নমুনা কোড ব্যবহার করুন

RequestQueue queue = Volley.newRequestQueue(this);

private void serverFronJsonObjReq() {
showProgressDialog();


        Map<String, String> postParam= new HashMap<String, String>();
        postParam.put("username", "[email protected]");
        postParam.put("password", "123456");


JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
        Const.BASE_URL_LOGIN, new JSONObject(postParam),
        new Response.Listener<JSONObject>() {

            @Override
            public void onResponse(JSONObject response) {
                Log.d(TAG, response.toString());
                msgResponse.setText(response.toString());
                hideProgressDialog();
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                hideProgressDialog();
            }
        }) {

    /**
      Passing some request headers
     * */
    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json; charset=utf-8");
        return headers;
    }



};

jsonObjReq.setTag(TAG);
// Adding request to request queue
queue.add(jsonObjReq);

// Cancelling request
/* if (queue!= null) {
queue.cancelAll(TAG);
} */

}




jsonobject