JSON(JavaScript Object Notation)은 데이터를 교환하기 위한 경량 데이터 포맷으로, Java 애플리케이션에서도 널리 사용됩니다. 이번 글에서는 Java에서 JSON 처리 과정 중 JSON 파싱과 생성 방법에 대해 알아 보겠습니다.
1. JSON 처리 라이브러리
Java에서 JSON을 처리하기 위해 가장 많이 사용하는 라이브러리는 다음과 같습니다:
2. Jackson을 이용한 JSON 처리
Jackson 라이브러리 추가
Maven 프로젝트에서 pom.xml
에 다음 종속성을 추가합니다:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.0</version>
</dependency>
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class JsonParsingExample {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":30}";
ObjectMapper objectMapper = new ObjectMapper();
try {
Person person = objectMapper.readValue(jsonString, Person.class);
System.out.println("이름: " + person.getName());
System.out.println("나이: " + person.getAge());
} catch (IOException e) {
System.out.println("JSON 파싱 오류: " + e.getMessage());
}
}
}
class Person {
private String name;
private int age;
// Getter와 Setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
출력:
이름: John
나이: 30
public class JsonCreationExample {
public static void main(String[] args) {
Person person = new Person();
person.setName("Jane");
person.setAge(25);
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonString = objectMapper.writeValueAsString(person);
System.out.println("생성된 JSON: " + jsonString);
} catch (IOException e) {
System.out.println("JSON 생성 오류: " + e.getMessage());
}
}
}
출력
생성된 JSON: {"name":"Jane","age":25}
3. Gson을 이용한 JSON 처리
Gson 라이브러리 추가
Maven 프로젝트에서 pom.xml
에 다음 종속성을 추가합니다:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
</dependency>
import com.google.gson.Gson;
public class GsonParsingExample {
public static void main(String[] args) {
String jsonString = "{\"name\":\"Alice\",\"age\":28}";
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);
System.out.println("이름: " + person.getName());
System.out.println("나이: " + person.getAge());
}
}
public class GsonCreationExample {
public static void main(String[] args) {
Person person = new Person();
person.setName("Bob");
person.setAge(35);
Gson gson = new Gson();
String jsonString = gson.toJson(person);
System.out.println("생성된 JSON: " + jsonString);
}
}
4. org.json을 이용한 JSON 처리
Java 표준 라이브러리 org.json
을 사용하여 JSON을 처리할 수도 있습니다.
import org.json.JSONObject;
public class OrgJsonParsingExample {
public static void main(String[] args) {
String jsonString = "{\"name\":\"Charlie\",\"age\":40}";
JSONObject jsonObject = new JSONObject(jsonString);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
System.out.println("이름: " + name);
System.out.println("나이: " + age);
}
}
import org.json.JSONObject;
public class OrgJsonCreationExample {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "Dave");
jsonObject.put("age", 45);
System.out.println("생성된 JSON: " + jsonObject.toString());
}
}
결론
Java에서 JSON 처리 과정 중 JSON 파싱과 생성 방법에 알아 보았습니다. Java에서 JSON을 처리하기 위해 다양한 라이브러리를 활용할 수 있습니다.
Jackson은 강력한 기능과 성능을 제공하며, Gson은 간단한 JSON 작업에 적합합니다.
또한, org.json은 표준적인 JSON 처리를 위한 기본 옵션으로 사용할 수 있습니다. 다음 블로그는 Spring Framework 입문 중 Spring에 대해 알아 보도록 하겠습니다. 감삽니다.
디딤돌 전세 대출을 받은 실제 경험 바탕으로 포스팅을 작성합니다. 디딤돌 대출은 생애최초, 신혼부부 대출로 나뉘어져…
현대 웹 애플리케이션에서는 보안이 중요한 요소이며, Spring Security는 강력한 인증 및 권한 관리 기능을 제공합니다.…
애플리케이션 개발에서 로깅(logging)과 모니터링(monitoring)은 필수적인 요소입니다. Java 애플리케이션이 실행되는 동안 발생하는 이벤트를 기록하고, 성능 및…
API(Application Programming Interface)는 애플리케이션 간 데이터를 주고받기 위한 인터페이스로, Java에서는 주로 RESTful API와 GraphQL API를…
디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 일반적인 해결책을 제공합니다. 특히, GoF(Gang…
Java의 애너테이션(Annotation)은 메타데이터를 코드에 추가하는 기능을 제공합니다. 이를 활용하면 코드의 가독성을 높이고, 프레임워크에서 런타임 처리를…