2012-03-26 8 views
2

これは私のサーバーに1つのオブジェクトを投稿するために完全に動作する私のコードです。私がやりたい何2つのJSONオブジェクトをサーバーに送信するためにHttpPostを取得しようとしています。 1つのオブジェクトを渡します。 2 does not

//Creating HttpPost object 
HttpPost post_request = new HttpPost(); 
//Creating BasicHttpParams 
BasicHttpParams params = new BasicHttpParams(); 
//Setting parameters to params 
params.setParameter("json", j); 
//Setting params to post_request 
post_request.setParams(params); 
//setting HttpPost object URI 
post_request.setURI(website); 
//executing actual request 
HttpResponse response = client.execute(post_request); 

はようにパラメータとして2つのオブジェクトを渡すことです:動作しませんもちろん

//Creating HttpPost object 
HttpPost post_request = new HttpPost(); 
//Creating BasicHttpParams 
BasicHttpParams params = new BasicHttpParams(); 
//Setting parameters to params 
params.setParameter("json", j, "json2", j2); 
//Setting params to post_request 
post_request.setParams(params); 
//setting HttpPost object URI 
post_request.setURI(website); 
//executing actual request 
HttpResponse response = client.execute(post_request); 

、。 setParameterの下に赤い線が表示されます。

投稿に2つのオブジェクトを渡すにはどうすればよいですか? 「可能ではなく、.jarファイルをインポートする必要があります」というようなさまざまな回答を読んだことがありますが、簡単な方法がいくつかあります。前もって感謝します。

答えて

3

の代わりに:

params.setParameter("json", j, "json2", j2); 

だけ

params.setParameter("json", j); 
params.setParameter("json2", j2); 

を呼び出すには、あなたは、これがある理由を理解するために呼んでいるもののためのJavadocを参照してください。 http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/BasicHttpParams.html

+0

論理的には、2番目の文が最初の文を上書きするべきではありませんか? – EGHDK

+1

メソッドの名前が誤解を招く可能性があります。 'BasicHttpParams'は基本的に' String'から 'Object'sまでのマップです。複数のパラメータを持つことができます。 'setParameter'は' addOrReplaceParamterWithName'と考えることができます。 – sastraxi

+0

ああ。ありがとう!素晴らしい応答。それは有り難いです。 'removeParameter(String name)'が見えるようになりました。 – EGHDK

関連する問題