我有两个简单的课程。
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将数据发布到服务器。
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”但它不起作用,因为在此之前和之后自动放置一些Quotation并给我JSON语法错误,现在我不能把“log_R”放在“params”中”。我怎么能这样做?
答案 0 :(得分:0)
您正在尝试将loging_REQUIREMENT
对象的实例传递给期望String
对象的函数。这是不允许的。你只能通过:
login_R.login_id
或login_R.login_key
因为那些也是String
。如果需要将整个对象作为JSON字符串传递,则必须将其转换为JSON表示形式。 Here是使用最广泛的库。
PS。它可以帮助每个人在遵循Java Naming Conventions时处理您的代码。使代码更易于阅读。最相关的是
类名应以大写字母开头,并且是名词,例如字符串,颜色,按钮,系统,线程等。