当我的对象包含其他对象时,如何发布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_id
或login_R.login_key
那些是String
S以及。如果您需要将整个对象作为JSON字符串传递,则必须将其转换为JSON表示形式。 Here是最广泛使用的库。
PS。当Java Naming Conventions被跟踪时,它可以帮助每个人处理您的代码。使代码更易于阅读。最相关的一个是
类名应该以大写字母开头并且是一个名词,例如,字符串,颜色,按钮,系统,线程等。