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); 여기서 자꾸 오류가 걸리는데 대체 뭐가 잘못된건지 모르겠습니다;
도와주십쇼 ㅠㅠ