[kotlin] 자바에서 코틀린 JSON 파싱하기

자바 프로젝트에서 코틀린으로 작성된 라이브러리를 사용하는 경우, JSON 파싱이 필요할 수 있습니다. 이 문서에서는 자바에서 코틀린으로 작성된 JSON 파싱 라이브러리를 가져와 사용하는 방법에 대해 설명하겠습니다.

Gson 사용하기

Gson은 Google에서 개발한 JSON 라이브러리로, 자바와 코틀린에서 모두 사용할 수 있습니다. 다음은 Gson을 사용하여 JSON 문자열을 객체로 파싱하는 예제 코드입니다.

// Gson 라이브러리 추가
dependencies {
    implementation 'com.google.code.gson:gson:2.8.6'
}
import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\", \"age\":30}";

        // JSON 파싱
        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}
data class Person(val name: String, val age: Int)

위의 예제에서는 Gson을 사용하여 JSON 문자열을 Person 객체로 파싱하였습니다.

Jackson 사용하기

Jackson은 성능이 우수한 JSON 라이브러리로, 자바와 코틀린에서 널리 사용됩니다. 다음은 Jackson을 사용하여 JSON 문자열을 객체로 파싱하는 예제 코드입니다.

// Jackson 라이브러리 추가
dependencies {
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.3'
}
import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\", \"age\":30}";

        // JSON 파싱
        ObjectMapper objectMapper = new ObjectMapper();
        Person person = objectMapper.readValue(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}
data class Person(val name: String, val age: Int)

위의 예제에서는 Jackson을 사용하여 JSON 문자열을 Person 객체로 파싱하였습니다.

두 라이브러리는 모두 자바와 코틀린에서 사용할 수 있는데, 어떤 라이브러리를 선택할지는 프로젝트의 요구사항과 개발자의 선호에 따라 결정되어야 합니다.

결론

위 예제를 통해 자바에서 코틀린 JSON 파싱을 효과적으로 수행하는 방법을 살펴보았습니다. Gson 또는 Jackson 중 선택할 수 있으며, 특정 프로젝트에 적합한 라이브러리를 선택하여 사용할 수 있습니다.

참고문헌:


Markdown으로 작성되었습니다.