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

php를 이용해 가져온 json 데이터는 배열인가요?

–1 추천
=========php 부분======

 

 $result = mysql_query($sql);

   // 반환된 전체 레코드 수 저장.

 
 $json_data = array(); // create a new array
 
 while ($row = mysql_fetch_assoc($result)) {
    array_push($json_data, $row);
 }
 
$json_data = json_encode($json_data);
 
echo $json_data;

 

===========================

 

이 과정을 거쳐서 안드로이드 텍스트뷰에 출력되게 하면

[{"name":"Hongkildong", "job":"fireman", "age":25},

 {"name":"Kimheungkuk", "job":"policeman", "age":30},
 {"name":"kimchulsoo", "job":"student", "age":18}]

 

이렇게 나오더라구요... 혹시 저렇게 출력된 값이 배열로 출력되는게 맞나요?

제가 하려고 하는건 DB에서 뽑아온 json 데이터를 안드로이드쪽으로 배열에 집어넣어서

그 배열 안에서 값을 탐색하려고 하거든요.. 그런데 php를 통해서 온 저 json 데이터가 배열인지.. 문자열인지.. 둘다 아니고 전혀 다른건지... 알고 싶습니다.

 

그리구 만약 배열이 아니라면 저 json 데이터를 배열로 만들어주려면 jsonobject, jsonarray 같은걸 사용해야하나요?? 책 사놓고 그냥 무작정 따라하려고 해보니까 막히네요.. 모르는 것 투성이라 찾아도 뭘 찾아야할지 모르겠고 ㅜㅜ...

gson을 이용하면 좋다는데 이게 무슨 말인지 몰라서..
허밍 (220 포인트) 님이 2015년 11월 6일 질문

2개의 답변

+3 추천
흠.. 제가 보기에는 json 포맷에 대해서 읽어보시길 추천드립니다. 그리고 자바로 json 데이터를 어떻게 처리하는 지도 읽어보시기 바랍니다. 문의 하시는 내용을 보니 준비가 조금 덜  되신게 아닌가 합니다.
mcsong (44,040 포인트) 님이 2015년 11월 6일 답변
네 ㅜㅜ 안드로이드 php에 관한 지식이 없는 상태에서 지금 책만 달랑 한개 사놓고 맨 땅에 헤딩하듯 시작해보는거라서요.. 말씀대로 계속 찾아보겠습니다.
+1 추천
서버에서 JSON으로 데이터를 넘긴다는건 위와 같은 문자열이 넘어온다는 뜻입니다.

JSON 관련 클래스들은 해당 문자열들을 파싱해서 내부적으로 데이터화한 것입니다.

 

앱에서는 해당 JSON 데이터에 맞는 클래스(ex : A클래스)를 만드신뒤에

서버에서 받은 데이터를 JSON 관련 클래스(ex : B클래스)를 이용해서 파싱하신뒤

해당 갯수만큼 A클래스배열을 만든뒤 루핑을 돌면서 B클래스의 데이터를 A클래스로 옮겨주시면 됩니다.

이후, A클래스 배열을 사용하시면 됩니다.
바램 (19,650 포인트) 님이 2015년 11월 6일 답변
...