2011-01-14 5 views
0

私のAndroid Appで奇妙なエラーが発生しています。このコードはJSON文字列を二重エンコードしているようです。何を送るべきであることである{ "電子メール": "[email protected]"、 "パスワード": "ASDF"}??:%22 .....(Android)私のJSONクエリが二重エンコードになっているようです

何 または %7B%22%22emailサーバーは%25B%2522メール%2522:%2522 .... を表示しています。これはサーバーが%7B%22email%22:%22を表示していることを意味します.....

これはサーバーを混乱させます。

これは何が起こっているのですか?

//がより良いオブジェクトを定義するために編集したあなたの助けをありがとう

コード:

 DefaultHttpClient c = new DefaultHttpClient(); 
     if(cookies!=null) 
      c.setCookieStore(cookies); 

     JSONObject jso = new JSONObject(): 

     if(loginNotLogout){ 
      jso.put("email", "[email protected]"); 
      jso.put("password", "PassW0RD"); 
     } 

     URI u = null; 
     if(loginNotLogout) 
      u= new URI("HTTP","www.website.com","/UserService",jso.toString(),""); 

     else 
      u= new URI("HTTP","www.website.com","/UserService",jso.toString(),""); 

     HttpGet httpget = new HttpGet(u); 

     HttpResponse response = c.execute(httpget); 
     ret.jsonString = EntityUtils.toString(response.getEntity()); 

答えて

0

userData何ですか?

どのEditTextから値を取得していますか?

getText().toString()を使用すると、EditTextヘルプのテキストが表示されますか?

+0

のuserDataは、ユーザーを記述する文字列のコレクションです。はい、userDataの値はEditTextによって生成されますが、それ以外のコードではクリーンアップされます。 jsoがJSONObjectであるという事実を忘れてしまった。 –

+0

生成しているJSON全体を印刷できますか? –

0

「www。」を削除すると、 URIコンストラクタのauthorityフィールドから、アドレス文字列が正しくエンコードされました。

私はウェブ専門家ではありませんが、誰かがこれを説明できる場合、私はすべての耳です。またはこの場合は目になる。

- アンドリュー

関連する問題