728x90
안드로이드에서 서버와 데이터를 주고받는 많은 방법 중에 많이 사용되는 포맷인
JSON 포맷을 통해 송수신 하는 방법에 대해 알아보도록 하겠습니다
먼저 안드로이드에서 JSON 을 사용하기 위해서 별도로 설치해야 할 SDK는 없습니다
기본적으로 JSONObject라는 것을 지원하기 때문에 사용 방법만 알면 쉽게 접근할 수 있습니다.
JSON 데이터 송신
먼저 JSON 데이터를 송신하기 위해서는 JSON Object를 통해 데이터를 가공해야 합니다
private void SetJSON(){
JSONObject object = new JSONObject();
try{
object.put("TestName","홍길동");
object.put("TestAddress","인천");
object.put("TestAge","33");
}catch(JSONException e){
e.printStackTrace();
}
}
만드는 방법은 간단한데 먼저 JSON 형식을 담아줄 JSONObject를 만들어 준 뒤에
put이라는 함수를 통해 키와 데이터 값으로 object에 넣어주기만 하면 됩니다.
결과 : { "TestName" : "홍길동" , "TestAddress" : "인천" , "TestAge" : "33" }
JSON Array 송신
JSON에 배열을 넣기 위해서는 JSONArray를 사용해야 합니다
그리고 기존에 안드로이드에 선언된 배열의 인자를 JSONArray에 매칭 하여
Object에 넣어주면 배열 또한 JSON 포맷으로 만들 수 있습니다
private void SetJSON(){
JSONObject object = new JSONObject();
JSONArray json_array = new JSONArray();
try{
object.put("TestName","홍길동");
object.put("TestAddress","인천");
object.put("TestAge","33");
for(int i=0; i<marray.size; i++){
JSONObject array_object = new JSONObject();
array_object.put("array_data1",marray[i]);
json_array.put(array_object);
}
object.put("list",json_array);
}catch(JSONException e){
e.printStackTrace();
}
}
위에 보면 marray라는 ArrayList가 있는데 여기에 들어간 내용은 다음과 같다고 가정하겠습니다
ArrayList<String>() marray = new ArrayList<String>();
marray.add("test1");
marray.add("test2");
marray.add("test3");
그럼 위의 코드의 결과는 다음과 같습니다
결과 : { "TestName" : "홍길동" , "TestAddress" : "인천" , "TestAge" : "33", "list" : [ { "array_data1" : "test1" }, { "array_data2" : "test2" }, { "array_data3" : "test3" } ] }
728x90
반응형
'안드로이드' 카테고리의 다른 글
[Android] String 배열 초기화 (2) | 2022.08.04 |
---|---|
[Android] JSON 데이터 수신 방법 (2) | 2022.08.03 |
[Android] 배열을 활용한 객체 등록 (3) | 2022.07.23 |
[Android] java.lang.RuntimeException 에러 해결 (6) | 2022.06.28 |
This version of the Android Support plugin for IntelliJ IDEA 에러 해결 (2) | 2022.05.27 |
댓글