JSON 타입을 매우 많이 사용하는데, 로그를 찍을 때 한 줄로만 찍으니 보기가 힘들 때가 있다.
불편해도 그냥 참고 사용했는데, 다른 방법이 있나 싶어서 찾아봤더니 쉽고 간편한 방법이 있었다.
출처: https://www.mkyong.com/java/how-to-enable-pretty-print-json-output-gson/
public class MyBean { public String name; public int type; public long createdAt; public Date date; public ArrayList<String> strs = new ArrayList<>(); public int[] integers = {11, 12, 222}; public void temp() { name = "name 이름"; type = 23; createdAt = System.currentTimeMillis(); date = new Date(); strs.add("11"); strs.add("12"); strs.add("13"); } public String toJson() { Gson gson = new GsonBuilder().setPrettyPrinting().create(); return gson.toJson(this); } }
이렇게 호출하면
MyBean myBean = new MyBean(); myBean.temp(); Log.i("###", "|" + myBean.toJson());
이렇게 표시된다.
{ "createdAt": 1500817386292, "date": "Jul 23, 2017 10:43:06 PM", "integers": [ 11, 12, 222 ], "name": "name 이름", "strs": [ "11", "12", "13" ], "type": 23 }
gradle 에는 이렇게 추가한다. (최신 버전은 https://mvnrepository.com/artifact/com.google.code.gson/gson 에 있다)
compile 'com.google.code.gson:gson:2.8.1'