구글에서 개발한 오픈소스로 Java Object를 JSON 문자열로 변환하거나 JSON 문자열을 Java Object로 변환 할 수 있다.
Object → JSON
import com.google.gson.Gson;
public class ObjectToJson {
public static void main(String[] args) {
// Student 객체 생성
Student human = new Student(1, "Man");
// Gson 객체 생성
Gson gson = new Gson();
// Student 객체 -> Json 문자열
String humanJson = gson.toJson(human);
// Json 문자열 출력
System.out.println(humanJson); // {"id":1,"name":"Man"}
}
}
JSON → Object
import com.google.gson.Gson;
public class JsonToObject {
public static void main(String[] args) {
// Json 문자열
String human = "{\"id\":1,\"name\":\"Man\"}";
// Gson 객체 생성
Gson gson = new Gson();
// Json 문자열 -> Student 객체
Student student = gson.fromJson(jsonStr, Student.class);
// Student 객체 toString() 출력
System.out.println(student); // Student [id=1, name=Man]
}
}
Map → Json
import com.google.gson.Gson;
public class MapToJson {
public static void main(String[] args) {
// Map
Map<String, String> map = new HashMap<>();
map.put("id", "1");
map.put("name", "Man");
// Map -> Json 문자열
Gson gson = new Gson();
String human = gson.toJson(map);
// Json 문자열 출력
System.out.println(jsonStr); // {"name":"Man","id":"1"}
}
}
Json → Map
import java.util.Map;
import com.google.gson.Gson;
public class JsonToMap {
public static void main(String[] args) {
// Json 문자열
String human = "{\"id\":\"1\",\"name\":\"Man\"}";
// Gson 객체 생성
Gson gson = new Gson();
// Json 문자열 -> Map
Map<String, Object> map = gson.fromJson(human, Map.class);
// Map 출력
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}