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

php 에서 JSON 데이터 받아오는데 자꾸오류가 납니다

0 추천
php를 서버에 올려서 웹으로 들어가보면 JSON 인코딩되서 정상적으로 나옵니다.

{"result":[{"post_thum":"http:\/\/서버주소\/asset\/uploads\/2016\/03\/1-2.jpg"},{"post_thum":"http:\/\/서버주소\/asset\/uploads\/2016\/03\/1-4.jpg"},{"post_thum":"http:\/\/서버주소\/asset\/uploads\/2016\/03\/1-24.jpg"},
.
.
.

이걸 안드로이드에서 받아서 리스트뷰에 뿌려주려 하는데 자꾸

W/System.err: org.json.JSONException: Value <meta of type java.lang.String cannot be converted to JSONObject

라고 오류가 뜨네요; 미치겠습니다;

class GettingPHP extends AsyncTask<String, Integer, String> {

        @Override
        protected String doInBackground(String... params) {
            StringBuilder jsonHtml = new StringBuilder();
            try {
                URL phpUrl = new URL(params[0]);
                HttpURLConnection conn = (HttpURLConnection)phpUrl.openConnection();

                if ( conn != null ) {
                    conn.setConnectTimeout(10000);
                    conn.setUseCaches(false);

                    if ( conn.getResponseCode() == HttpURLConnection.HTTP_OK ) {
                        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
                        while ( true ) {
                            String line = br.readLine();
                            if ( line == null )
                                break;
                            jsonHtml.append(line + "\n");
                        }
                        br.close();
                    }
                    conn.disconnect();

                }
            } catch ( Exception e ) {
                e.printStackTrace();
            }

            return jsonHtml.toString();
        }

        protected void onPostExecute(String str) {
            try {
                // PHP에서 받아온 JSON 데이터를 JSON오브젝트로 변환
             
                JSONObject jObject = new JSONObject(str);
                // results라는 key는 JSON배열로 되어있다.
                JSONArray results = jObject.getJSONArray("little_known");
                String post_thum = "";

                for ( int i = 0; i < results.length(); ++i ) {
                    JSONObject temp = results.getJSONObject(i);
                    post_thum += temp.getString("post_thum");

                    Log.d("check","post_thum");
                }
                datas.add(new post_data(post_thum));
                Log.d("check2", "?");
                post_list_thum adapter = new post_list_thum( getLayoutInflater() , datas);

                listview.setAdapter(adapter);
            } catch (JSONException e) {
                e.printStackTrace();

            }
        }
    }
}

받아오는 코드입니다.

JSONObject jObject = new JSONObject(str);  여기서 자꾸 오류가 걸리는데 대체 뭐가 잘못된건지 모르겠습니다;
도와주십쇼 ㅠㅠ
껄껄앱 (1,910 포인트) 님이 2016년 4월 12일 질문
자답입니다 웹에 올린 php 파일에서 utf8로 인코딩하는 부분을 지워버리니 잘 작동하더라고요  똑같은 현상 겪고계신분들 참고하세요 ^^

1개의 답변

0 추천
 
채택된 답변
서버 응답 텍스트를 logcat에 출력해서 예상한 것과 동일한지 확인해보세요.
익명사용자 님이 2016년 4월 12일 답변
껄껄앱님이 2016년 4월 14일 채택됨
...