Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 문자열 숫자 변환
- IaaS
- PaaS
- 11652
- 2진수
- parseInt
- 짝수
- 홀수
- 프로젝트 생성
- 알고리즘
- 웹 서버
- 리스트
- 자료형
- aws
- 프로그래머스
- 온프레미스
- 백준
- INT
- 데이터타입
- java
- 11004
- 유클리드 호제법
- IntelliJ
- level1
- algorithm
- 최대공배수
- Python
- 최대공약수
- SaaS
- valueof
Archives
- Today
- Total
Ga0Lee
[Java] JSON 형식으로 변환하고 전송하기 ObjectMapper & OutputStream 본문
ObjectMapper
Java 객체를 JSON 형식으로 변환
ObjectMapper는 Jackson 라이브러리의 클래스로, Java 객체와 JSON 간의 변환을 쉽게 해준다.
Map<String, Object> message = new HashMap<>();
message.put("message", new HashMap<String, Object>() {{
put("token", "device-token"); // 푸시 알림을 받을 디바이스의 토큰
put("notification", new HashMap<String, String>() {{
put("title", "Test Title"); // 알림 제목
put("body", "This is a test message."); // 알림 본문
}});
}});
ObjectMapper objectMapper = new ObjectMapper();
String jsonMessage = objectMapper.writeValueAsString(message);
ObjectMapper를 사용하여 message객체를 JSON 문자열로 변환하면, 아래와 같은 JSON구조가 생성된다.
{
"message": {
"token": "device-token",
"notification": {
"title": "Test Title",
"body": "This is a test message."
}
}
}
OutputStream
데이터를 출력 스트림을 통해 전송할 때 사용하는 클래스
주로 HTTP 요청의 본문 (request body)에 JSON 데이터를 쓰기 위해 사용된다.
여기서 주의해야 할 점은 conn 객체의 setDoOutput(true)가 설정되어있어야 conn.getOutputStream() 메서드를 사용할 수 있다.
OutputStream outputStream = conn.getOutputStream();
outputStream.write(jsonMessage.getBytes("UTF-8")); // JSON 문자열을 바이트로 변환하여 전송
outputStream.flush(); // 모든 데이터를 전송하고
outputStream.close(); // 스트림을 닫음 -> HTTP 요청이 서버로 전송됨
'Java' 카테고리의 다른 글
[Java] 멀티스레드와 동시성 처리 Synchronized (0) | 2024.11.19 |
---|---|
[Java] URL, HttpURLConnection (0) | 2024.10.28 |
[JAVA] 10진수를 2진수로 변환하기 (0) | 2023.04.03 |
[Java] 배열 정렬하기/오름차순, 내림차순 - Arrays.sort() / primitive type, Object class, boxing (1) | 2022.06.23 |
[Java] 문자열을 배열로, 배열을 문자열로 변환하기/String.split(), String.join() (0) | 2022.06.18 |