서버측
JSONObject->JSONArray->JSONObject->String 전환
public String listPage(String search_type , String search_text,String search_text_start,String search_text_size) {
//찾는타입&찾는 내용&찾을번째,찾는 개수에 따라 반환을 해줄꺼
//jsonarray로 반환
Connection conn=null;
PreparedStatement pstmt=null;
//theme,link,info,tag,nickname,reg_date,font순
JSONArray jsonArray=new JSONArray();
JSONObject jsonObject;
String temp="0";
ResultSet rs = null;
try {
String sql;
conn=getConnection();
if(search_type.equals("page_like")) {
sql = "select * from page order by page_like desc limit "+search_text_start+","+search_text_size;
pstmt = conn.prepareStatement(sql);
}
else
{
sql = "select * from page where "+search_type+" like ? order by page_reg_date desc limit "+search_text_start+","+search_text_size;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%"+search_text+"%");
}
rs=pstmt.executeQuery();
String page_nickname,page_num,page_link,page_tag,page_like,page_unlike,page_info,page_theme;
while(rs.next()) {
page_nickname=rs.getString("page_nickname");
page_num=rs.getString("page_num");
page_link=rs.getString("page_link");
page_tag=rs.getString("page_tag");
page_like=rs.getInt("page_like")+"";
page_unlike=rs.getInt("page_unlike")+"";
page_info=rs.getString("page_info");
page_theme=rs.getString("page_theme");
jsonObject=new JSONObject();
jsonObject.put("page_link",page_link);
jsonObject.put("page_info",page_info);
jsonObject.put("page_tag",page_tag);
jsonObject.put("page_theme",page_theme);
jsonObject.put("page_nickname",page_nickname);
jsonObject.put("page_num",page_num);
jsonObject.put("page_like",page_like);
jsonObject.put("page_unlike",page_unlike);
jsonArray.add(jsonObject);
}
jsonObject=new JSONObject();
jsonObject.put("list", jsonArray);
temp=jsonObject.toString();
}
catch(Exception e) {
e.printStackTrace();
}
return temp;
}
안드로이드
JSONParser로 스트링받음->JSONObject->JSONArray->JSONObject
public PageListViewItem[] makeList(String searchType, String searchText, String limitStart, String limitCount){
String result="0";
String[] sendMsg=new String[2];
sendMsg[1]="page";
PageListViewItem[] pageListViewItems =null;
try{
sendMsg[0]="type=search&search_type="+searchType+"&search_text="
+searchText+"&search_text_start="+limitStart+"&search_text_size="+limitCount;
result=task.execute(sendMsg).get();
if(result.equals("0")){
Log.i("쿼리문전송실패,",result);
return null;
}
JSONParser jsonParser=new JSONParser();
JSONObject jsonObject=(JSONObject) jsonParser.parse(result);
JSONArray jsonArray=(JSONArray) jsonObject.get("list");
pageListViewItems =new PageListViewItem[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
jsonObject=(JSONObject) jsonArray.get(i);
pageListViewItems[i]=new PageListViewItem(
// private String page_nickname,page_num,page_link,page_tag,page_like,page_unlike,page_info,page_theme;
jsonObject.get("page_nickname").toString(),
jsonObject.get("page_num").toString(),
jsonObject.get("page_link").toString(),
jsonObject.get("page_tag").toString(),
jsonObject.get("page_like").toString(),
jsonObject.get("page_unlike").toString(),
jsonObject.get("page_info").toString(),
jsonObject.get("page_theme").toString()
);
}
}catch (Exception e){
e.printStackTrace();
}
return pageListViewItems;
}