마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

JSONException 질문이요 ㅜㅜ

–1 추천

같이 공동으로 개발하는 APP이 있는데 서로 따로 만들다가 제가 파일을 받아서 폰으로 켜봤는데

로그인부분에서 JSON으로 자료를 넘기면서 에러가 나는거 같습니다. 검색을 해도 거의 외국꺼...

라서 질문올리는데요 ㅠㅠ 로그인창에서 넘어가지를 않으니 수정을 못하고 있습니다. 도와주세요.

LoginActivity

public void loginSuccess(String response)
	{
		try
		{
			JSONArray list = new JSONArray(response);
			JSONObject obj = (JSONObject) list.get(0);
			DataManager.setData(obj.getString("mobileNo"), obj.getString("gpsNo"), obj.getString("userNm"), obj.getString("clientCd"), obj.getString("clientNm"), obj.getString("bizNo"), obj.getString("address"), obj.getString("phoneNo"));
			
			Intent intent = new Intent(this, MainActivity.class);	
			startActivity(intent);
			finish();
		}
		catch (JSONException e) 
		{
			throw new RuntimeException(e);
		}
	}

로그인 액티비티구요

 

login.jsp

<%
	
	GeneralVOList result = (GeneralVOList)request.getAttribute("result");
	
	//JSON 파싱을 위한 Object / Array 생성
	JSONArray list = new JSONArray();
	
	if(result.size() == 0)
	{
		out.println("");
	}
	else
	{
		//JSON OBJECT는 Map과 형태가 동일함. 
		for(GeneralVO row : result)
		{
			JSONObject obj = new JSONObject();
			obj.put("mobileNo", 	row.getString("MOBILE_NO"));
			obj.put("gpsNo", 		row.getString("GPS_NO"));
			obj.put("userNm",		row.getString("USER_NM"));
			obj.put("clientCd", 		row.getString("CLIENT_CD"));
			obj.put("clientNm", 		row.getString("CLIENT_NM"));
			list.add(obj);
		}
		out.println(list);
	}
%>

login jsp 입니다. 

 

07-21 10:26:59.169: E/AndroidRuntime(22768): FATAL EXCEPTION: main
07-21 10:26:59.169: E/AndroidRuntime(22768): Process: com.neognp.neotms_app, PID: 22768
07-21 10:26:59.169: E/AndroidRuntime(22768): java.lang.RuntimeException: org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.neognp.neotms_app.LoginActivity.loginSuccess(LoginActivity.java:172)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.neognp.neotms_app.LoginActivity$1.onSuccess(LoginActivity.java:113)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.loopj.android.http.AsyncHttpResponseHandler.onSuccess(AsyncHttpResponseHandler.java:232)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.loopj.android.http.AsyncHttpResponseHandler.onSuccess(AsyncHttpResponseHandler.java:220)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.loopj.android.http.AsyncHttpResponseHandler.onSuccess(AsyncHttpResponseHandler.java:245)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.loopj.android.http.AsyncHttpResponseHandler.handleMessage(AsyncHttpResponseHandler.java:365)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.loopj.android.http.AsyncHttpResponseHandler$ResponderHandler.handleMessage(AsyncHttpResponseHandler.java:135)
07-21 10:26:59.169: E/AndroidRuntime(22768): at android.os.Handler.dispatchMessage(Handler.java:102)
07-21 10:26:59.169: E/AndroidRuntime(22768): at android.os.Looper.loop(Looper.java:136)
07-21 10:26:59.169: E/AndroidRuntime(22768): at android.app.ActivityThread.main(ActivityThread.java:5120)
07-21 10:26:59.169: E/AndroidRuntime(22768): at java.lang.reflect.Method.invokeNative(Native Method)
07-21 10:26:59.169: E/AndroidRuntime(22768): at java.lang.reflect.Method.invoke(Method.java:515)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
07-21 10:26:59.169: E/AndroidRuntime(22768): at dalvik.system.NativeStart.main(Native Method)
07-21 10:26:59.169: E/AndroidRuntime(22768): Caused by: org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray
07-21 10:26:59.169: E/AndroidRuntime(22768): at org.json.JSON.typeMismatch(JSON.java:111)
07-21 10:26:59.169: E/AndroidRuntime(22768): at org.json.JSONArray.<init>(JSONArray.java:96)
07-21 10:26:59.169: E/AndroidRuntime(22768): at org.json.JSONArray.<init>(JSONArray.java:108)
07-21 10:26:59.169: E/AndroidRuntime(22768): at com.neognp.neotms_app.LoginActivity.loginSuccess(LoginActivity.java:162)
07-21 10:26:59.169: E/AndroidRuntime(22768): ... 14 more
 
오류난 부분이구요. 
BMS (520 포인트) 님이 2014년 7월 21일 질문

1개의 답변

0 추천
 
채택된 답변
Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray

 

json이 아니라 html이나 xml이 오고 있나 보네요 

com.neognp.neotms_app.LoginActivity.loginSuccess(LoginActivity.java:162)

이 부분을 찾아보세요 

쎄미 (162,410 포인트) 님이 2014년 7월 21일 답변
BMS님이 2014년 7월 21일 채택됨
엇 감사합니다! 실행되네요 이제!!
...