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이라는 객체가 그것인데 자바코드에서 직접 사용하니 신세계이지 아니한가



+ Recent posts