2012-05-20 3 views
1

내가 PHP에서로 json_encode에서 JSON 응답을 얻을 수 있습니다 내가 응답이 무엇인지 이클립스 내 로그 캣에서 그것을 보여줄 수 있었다 : 이제Android : string을 JSONArray로 변환 할 수 없습니까?

[{"idusers":"1","full_name":"Test Subject","get_email":"[email protected]"}, 
{"idusers":"2","full_name":"Test Subject_2","get_email":"[email protected]"}] 

, 나는

//parse json data 
    try { 
     JSONArray jArray = new JSONArray(result); 
     for(int i =0; i<jArray.length(); i++){ 
      JSONObject json_data = jArray.getJSONObject(i); 
      Log.i("log_tag","id: "+json_data.getInt("idusers")+ 
        ", Full Name: "+json_data.getString("full_name")+ 
        ", Email: "+json_data.getString("get_email") 
        ); 
     } 
    }catch(JSONException e){ 
     Log.e("log_tag","Error parsin data "+e.toString()); 
    } 

에 노력하고있어 그러나, 나는

Error parsin data org.json.JSONException: Value testing of type java.lang.String cannot be converted to JSONArray

은 JSONArray의 문제를 해결하는 방법이 있나요 없다는 오류를 받고 있어요?

미리 감사드립니다.

+1

"문자열의 끝 부분에 누락이 있습니다. 그게 당신 문제의 원인인가요, 아니면 그냥 오타입니까? –

+0

http://stackoverflow.com/questions/9441932/android-json-error-expected-begin-object-but-was-begin-array-at-line-1-column-2 –

+0

@RajeshJAdvani a typo – hellomello

답변

1

나는 PHP 문서에서 문자열을했고 아니었다 오류에서 한 단어 인 "testing"이라는 단어가 있습니다.이 "testing"이 삭제되면 작동합니다. 감사합니다.

0

JSON에서 반환하는 PHP 변수에 캐스트를 추가해보십시오. 또한 json_encode를 사용하고 있습니까?

$user_id = (int) $id; 
$email = (string) $email; 
+0

내 PHP에서 json_encode 사용 – hellomello

+0

이것은 내 PHP 파일'while ($ get = $ SQL-> fetch (PDO :: FETCH_ASSOC))을 통해 전달됩니다. { \t \t $ output [] = $ get; \t} \t \t print (json_encode ($ output)); ' – hellomello

+0

그래서 실제로 변수를 설정하지 않습니다. 단지 배열을 직접 참조하는 것입니다. mysql의 데이터 유형은 varchar이며 차이점이 있습니까? id는 int입니다. – hellomello

1

JSON이 유효하지 않습니다. 견적 (") 2 배열 요소에 get_email"값에 없습니다 "

가되어야한다.. 무슨 일이 일어 났는지를 찾을 수

[ 
    { 
     "idusers": "1", 
     "full_name": "Test Subject", 
     "get_email": "[email protected]" 
    }, 
    { 
     "idusers": "2", 
     "full_name": "Test Subject_2", 
     "get_email": "[email protected]"}] 
+0

그건 분명히 오타입니다. 내가 bufferreader에서 응답을 받고있어 원인 – hellomello

관련 문제