2017-08-22 4 views
0

私は2つのシンプルなクラスを持っています。どのようにポスト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を使用して、サーバーに投稿/データを送信します。この場合

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を置くことができないので、 "" params "で。どうやってやるの?

答えて

0

loging_REQUIREMENTオブジェクトのインスタンスを、Stringオブジェクトが必要な関数に渡そうとしています。それは許可されていません。あなただけ渡すことができます:

login_R.login_idまたはものと

login_R.login_keyも同様String秒です。オブジェクト全体をJSON文字列として渡す必要がある場合は、JSON表現に変換する必要があります。 Hereはそのために最も広く使用されているライブラリです。

PS。 Java Naming Conventionsに従うと、コードを扱うすべての人に役立ちます。コードを読みやすくします。最も関連性の高いものは

です。クラス名は大文字で始まり、名詞などにする必要があります。文字列、色、ボタン、システム、糸など

関連する問題