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 | 29 | 30 | 31 |
Tags
- Intellj
- 자료구조
- 알고리즘
- 클라우드
- SQL
- aws
- PL/SQL
- 데이터베이스
- Spring Cloud
- MST
- 페이징
- db
- Kafka
- 운영체제
- Spring
- Jenkins
- feign
- DP
- Spring Cloud Feign
- Spring Boot
- 쿼리
- retry
- 오라클
- 자바
- 디자인 패턴
- JPA
- golang
- 백준
- MVC
- 코딩
Archives
- Today
- Total
justgo_developer
Gson 이용 시 Unicode 변환 해결 방법 본문
728x90
반응형
Gson 이용 시 Unicode 변환 해결 방법
목차
- Unicode란?
- Gson 사용시 unicode 문제
- Gson 사용시 unicode 해결방법
개요
데이터 처리 중 암호화된 데이터 값이 달라지는 걸 발견하였는데,
알고보니 객체를 json으로 변환 중 문자가 unicode로 변환되어 나오는 것을 확인하였고,
해결방법에 대해서 알아보려고 한다.
상세
1. unicode란?
Unicode 정의
유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 유니코드는 유니코드 협회(Unicode Consortium)가 제정한다. 또한 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있다.
2. Gson 사용시 unicode 문제
@Test
public void gsonUnicodeTest() {
Map<String, String> map = new HashMap<>();
map.put("unicode", "7456156==");
System.out.println(JsonUtils.toJson(map));
}
{"unicode":"7456156\u003d\u003d"}
-> Gson을 이용하여 Json 변환 시, 문자 '='가 '\u003d' 유니코드로 변환된다.
728x90
3. Gson 사용시 unicode 해결방법
기존 : 일반적인 Gson 객체 생성
public static <T> String toJson(T obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
변경 : GsonBuilder().disableHtmlEscaping().create() 사용하여 Gson 객체 생성
public static <T> String toJsonWithoutUnicode(T obj) {
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
return gson.toJson(obj);
}
- GsonBuilder().disableHtmlEscaping().create() 사용하여 HTML Escape 비활성화하면 unicode로 변환하지 않고 정상처리 된다.
{"unicode":"7456156=="}
참고
728x90
반응형
'IT > 기타' 카테고리의 다른 글
Bearer Authorization (0) | 2023.10.10 |
---|---|
Xml 파싱 (1) | 2023.10.05 |
RabbitMQ (0) | 2023.10.05 |