본문 바로가기

옛글/안드로이드 프로그래밍

[Android] Json Format Write / Read

반응형


iOS에서는 JSON 라이브러리를 많이들 사용하지만(최근 버전에는 기본 라이브러리로도 사용이 가능하다고 하지만) 안드로이드의 경우에는 내부에 있는 org.json.JSONObject를 사용하면 가능하다!


 // JSON 포맷으로 온 String을 Read 하기 

*(EX) kResponse = {"name":"shakej"};

String kResponse = String.format("[%s]", response);

 

try{

JSONArray jArr = new JSONArray(kResponse);

for (int i=0; i <jArr.length(); i++){

JSONObject object = jArr.getJSONObject(i);

String name = object.getString("Name");

Log.d("shakej","name is = " +name");

        }

}

catch(Exception e){

//Error 처리

}

}


위와 같이 간단하게 사용이 가능하다. 주로 서버에서 데이터를 받아왔을 때 JSON 포맷인 경우 위와 같이 사용을 한다. String 으로 받은 후 Map 에 넣어 넘겨 사용을 하거나 .. 다양한 방법으로 사용이 가능하겠다. 


JSON Format 으로 만드는 Class를 따로 만들어놓고 return 받아서 사용하면 간단하게 JSON Formatting 이 가능하다. 


 // JSON Format 으로 Write하기 


public String makeJsonBody(String aName, String aNumber){

JSONObject json = new JSONObject();

try {

json.put("name"aName);

json.put("number"aNumber);


Log.d("shakej","Make Json Body is "+ json.toString());

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return json.toString();

}

반응형