2017-08-22 19 views
0

J'ai deux classes simples.comment post json objet lorsque mon objet contenant un autre objet?

public class account_ { 
     public String account_id; 
     public String fname ; 
     public String lname ; 

     public loging_REQUIREMENT login_R; 
} 
public class loging_REQUIREMENT{ 
    public String login_id; 
    public String login_key; 
    . 
    . 
} 

J'utilise Volley pour envoyer/transmettre des données au serveur.

StringRequest stringRequest=new StringRequest(Request.Method.PUT, url + "profile", new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 
      volleyCallback.onSuccess(response); 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      volleyCallback.onError(error+""); 
     } 
    }){ 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String,String> params=new HashMap<String, String>(); 
      params.put("account_id",account_.account_id); 
      params.put("fname",account_.fname); 
      params.put("lname",account_.lname); 

      params.put("login_R", ********* my problem******* ); 
      return params; 
     } 
    }; 
    RequestQueue requestQueue= Volley.newRequestQueue(context); 
    requestQueue.add(stringRequest); 
} 

dans ce cas, j'essaie de mettre « login_R » manuellement mais il ne fonctionne pas parce automatiquement mis quelque citation avant et après cela et me donner erreur de syntaxe JSON, et maintenant je ne peux pas mettre « log_R "dans" params ". Comment puis je faire ça?

Répondre

0

Vous essayez de transmettre une instance de votre objet loging_REQUIREMENT dans une fonction qui attend un objet String. Ce n'est pas autorisé. Vous ne pouvez passer:

login_R.login_id ou login_R.login_key

que ce sont String s aussi bien. Si vous devez passer un objet entier en tant que chaîne JSON, vous devez le convertir en une représentation JSON. Here est la bibliothèque la plus utilisée pour cela.

PS. Il aide tous ceux qui traitent votre code lorsque Java Naming Conventions sont suivis. Rend le code plus facile à lire. La plus pertinente est

Le nom de la classe doit commencer par une lettre majuscule et être un nom, par ex. Chaîne, couleur, bouton, système, filetage etc.