상황 : Spring기반으로 짜여진 서버에서 한 클래스의 데이터를 모니터링 페이지에 띄우고자 합니다.
출력해야하는 클래스는 들고 있는 데이터의 가지수만 최소 5-7개에서 내부필드는 20-30개까지
하나하나 정성스레 포멧팅 해주면 되지만. 귀차니즘이 앞서서 어찌하면 이쁘게 String으로 뽑아낼수 있을까 하여
방법을 찾아보았습니다.
Q : 특정 클래스 A를 Json Format을 가지는 String Type로 출력하고자 합니다.
A.
- 구글에서 제공 하고 있는 GSON Library의 Pretty Format 메소드를 활용하여 출력.
GOOGLE GSON : http://code.google.com/p/google-gson/
#. Test Case
ObjClass.java |
import java.util.ArrayList; public class ObjClass { String name; int age; String address; ArrayList<String> newArr; } |
Main.java |
import java.util.ArrayList; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class Main { public static void main(String[] args){ ObjClass oc = new ObjClass(); oc.address = "123"; oc.age = 56; oc.name ="myname"; oc.newArr = new ArrayList<String>(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); String jsonOutput = gson.toJson(oc); System.out.println(jsonOutput); } } |
#.Output |
{ "name": "myname", "age": 56, "address": "123", "newArr": [] } |
필드의 값이 Null 일 경우에는 아에 출력에서 제외됩니다.
이어서 -
View 딴에 데이터를 전달해서 출력할 계획이기에
Javascript를 이용해서 Json Format에 Hightlight 해주는걸 찾아봐야겠습니다...