2016-05-31 4 views
-3

мне нужно отправить что-то вроде:Как отправить JSONObject с андроида залпом

{ 
"username": "username", 
"password": "password", 
"email": "[email protected]", 
"usuario": { 
    "municipio": 1, 
    "estado": 1 
    } 
} 

Как я могу это сделать? Если я пытаюсь с этим кодом не работает:

StringRequest stringRequest = new StringRequest(Request.Method.POST, url, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         Toast.makeText(getApplicationContext(), R.string.AlertaExito, Toast.LENGTH_LONG).show(); 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_LONG).show(); 
        } 
       }) { 
      @Override 
      protected Map<String, String> getParams() { 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put("username", txtusuario.getText().toString()); 
       params.put("password", txtpassword.getText().toString()); 
       params.put("email", txtemail.getText().toString()); 
       params.put("estado", txtestado.getText().toString()); 
       params.put("municipio", txtmunicipio.getText().toString()); 

       return params; 
      } 

Я думаю, что я должен создать jsonobject, но я не знаю, как сделать это.

ответ

0

Если ваша проблема связана с волейболом, вы можете проверить его учебник https://developer.android.com/training/volley/request.html#request-json (используйте синглтон из предыдущего урока https://developer.android.com/training/volley/requestqueue.html#singleton).

Там они делают запрос GET, но вы можете изменить для POST с Request.Method.POST, подпись для JsonObjectRequest является JsonObjectRequest(int method, String url, JSONObject jsonRequest, Listener<JSONObject> listener, ErrorListener errorListener) здесь https://android.googlesource.com/platform/frameworks/volley/+/1b4858087f25a8033c5136a96b750752b87e128c/src/com/android/volley/toolbox/JsonObjectRequest.java

Если ваша проблема с JSON, то просто заметить, что JsonObjectRequest нужен JSONObject, так что вы не можете просто отправить строку, вы можете проверить документацию JSONObject (https://developer.android.com/reference/org/json/JSONObject.html) и воссоздать json через свои методы, либо он имеет один конструктор, который использует кодировку String json.

+0

Я не знаю, как создать свой json-объект для отправки его в методе getParams() –

Смежные вопросы