当我的对象包含其他对象时,如何发布json对象?

问题描述:

我有两个简单的类。当我的对象包含其他对象时,如何发布json对象?

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; 
    . 
    . 
} 

我使用Volley将post/put数据添加到服务器。

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); 
} 
在这种情况下

,我尝试手动将“login_R”,但它不工作,因为自动把一些报价之前和之后,给我的JSON语法错误,现在我不能把“log_R “在”参数“中。我怎样才能做到这一点?

您试图将loging_REQUIREMENT对象的实例传递给期望String对象的函数。这是不允许的。你只能通过:

login_R.login_idlogin_R.login_key

那些是String S以及。如果您需要将整个对象作为JSON字符串传递,则必须将其转换为JSON表示形式。 Here是最广泛使用的库。

PS。当Java Naming Conventions被跟踪时,它可以帮助每个人处理您的代码。使代码更易于阅读。最相关的一个是

类名应该以大写字母开头并且是一个名词,例如,字符串,颜色,按钮,系统,线程等。