2011-01-14 2 views
0

내 Android 앱에 이상한 오류가 나타납니다. 이 코드는 JSON 문자열을 이중 인코딩하는 것으로 보입니다. 무엇 보내야 것은 { "이메일": "[email protected]", "비밀번호": "asdf을"}? : 22 % .....(Android) 내 JSON 쿼리가 이중 인코딩을 얻는 것 같습니다.

무엇 또는 % 7B % 22 % 22email 서버가 % 257B % 2522email % 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 생성자의 권한 필드에서 주소 문자열이 올바르게 인코딩되었습니다.

나는 웹 전문가가 아니지만 누구나 설명 할 수 있다면 나는 모든 귀입니다. 또는이 경우 눈.

- 앤드류