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

mysql 연동중 비밀번호 json파싱 문의드립니다.

0 추천
private void onConverter(String result) {
    
    try{
     
           JSONArray jArray = new JSONArray(result);
           Log.d("TAG", "33333"+result);
           for(int i=0;i<jArray.length();i++){
                  JSONObject json_data = jArray.getJSONObject(i);
                  Log.i("log_tag","password:"+json_data.getString("password"));
                  mPASS = json_data.getString("password");                 
                
                  Log.d("TAG", "111"+mPASS); 
           }
    
   }catch(JSONException e){
    Log.e("log_tag", "Error parsing data "+e.toString());
   }
   }

---------------------------------------- findpass.php ---------------------------------------------

<?php

include_once('connection.php');

$id = $_POST['id'];                               // 사용자가 입력한 아이디값을 안드로이드에서 받아옵니다.

$phone = $_POST['phone'];              // 사용자가 입력한 휴대폰넘버를 안드로이드에서 받아옵니다.

$query = mysql_query($query) or die('Erro in query : $query' . mysql_error());

while($row = mysql_fetch_assoc($result)){

$output[] = $row;

}

print (json_encode($output));

?>

----------------------------------------------------------------------------------------

로그캣 에러 메세지로


05-14 13:07:17.045: E/log_tag(975): Error parsing data org.json.JSONException: Value null of type org.json.JSONObject$1 cannot be converted to JSONArray

이렇게 뜹니다. 대략 유추 했을 때 숫자로 저장되서 그걸 string 으로 파싱하려니 안된다는 말 같은데...

어떤식으로 받아야할까요.. 로그인, 회원가입, 아이디찾기, 비밀번호찾기  코딩중인데
 나머진 잘되는데 비밀번호 찾기가 안되거든요...아마 password가 숫자라서 파싱이 제대로 안되는 것 같은데.

방법좀 알려주시면 감사하겠습니다.
 

 

참고로 APMsetup 사용하구요
DB 에

password  라는 필드 자료형은 VARCHAR 입니다. Collation은  latin1_swedish_ci이구요. php에서 set names utf8 설정해줬습니다.
 

sta48 (290 포인트) 님이 2015년 5월 14일 질문

1개의 답변

0 추천

Value null of type org.json.JSONObject cannot be converted to JSONArray

null 이나 json object를 json array로 만들 수 없다는 내용입니다.

result의 json string이 {} 로 시작하는지 확인하세요 

쎄미 (162,410 포인트) 님이 2015년 5월 15일 답변
{ 로 시작 되면 어떻게 처리를 해주어야 하나요
...