Boolean / Charactor / Number / String 형의 배열을 String 타입으로 지원해주는 라이브러리가 있더라 !!
소케송신이나 엑티비티통신간 이런 String 묶음들을 한번에 전송할때 유용하게 쓸 수 있을 것이다.
gson-2.2.4.jar
이 아이는 google에서 만든 json인데 지금 작성할 내용은 gson이나 json이나 별반 다를게 없다.
<JsonObject>
<JsonObject 생성>
JsonObject jsonObject = new JsonObject();
<엔트리 추가>
jsonObject.addProperty("type", "test");
jsonObject.addProperty("data", "안녕하세요");
<JsonObject 출력>
String str = jsonObject.toString();
System.out.println(str);
<결과>
{"type":"test","data":"안녕하세요"}
<사용하기 >
//String 형을 Json오브젝트로 변환
String str = "{"type":"test","data":"안녕하세요"}";
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
JsonObject json = element.getAsJsonObject();
//JsonObject에서 문자열을 추출
String type = json.get("type"); //type 에는 "test"라는 문자열이 저장된다
String hello = json.get("data") // hello 에는 "안녕하세요"라는 문자열이 저장된다.
<JsonArray>
//두 JsonObejct 객체가 아래와 같다면...
jsonObject1 = {"type":"test","data":"안녕하세요"}
jsonObject2 = {"type":"test","data":"반갑습니다"}
<JsonArray 생성>
JsonArray jArray = new JsonArray();
<엔트리 추가>
jArray.add(jsonObject1);
jArray.add(jsonObject2);
<JsonArray 출력>
String str = jArray.toString();
System.out.println(str);
<결과>
[{"type":"test","data":"안녕하세요"},{"type":"test","data":"반갑습니다"}]
<사용하기>
//String 형을 JsonArray로 변환
String str = "[{"type":"test","data":"안녕하세요"},{"type":"test","data":"반갑습니다"}]"
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
JsonArray jArray = element.getAsJsonArray();
//JsonArray에서 문자열 추출
String hello = jArray.get(0).get("data");
String hello2 = jArray.get(2).get("data");
하... 포스팅 능력이 딸리다보니 이렇게밖에 표현을 못하겠네요...
web에선 자주 등장하는 json이라는 객체가 그것인데 자바코드에서 직접 사용하니 신세계이지 아니한가