반응형
JavaScriptEncoder.UnsafeRelaxedJsonEscaping 속성은?
기본 인코더와 달리 해당 속성을 적용하면 <,>,&와 같은 HTML 구분 문자를 이스케이프 하지 않는다.
예를 들어 출력 데이터가 UTF-8로 설정된 Content-type의 응답 내에는 사용할 수 있다.
기본 인코딩과 달리 따옴표는 \u0022가 아닌 \" 로 인코딩 된다.
설정하지 않으면 json 파일로 출력시에 내용이
>> 설정 전
#Desc": "\uD558\uD2B8 \uC120\uAE00\uB77C\uC2A41",
와 같은 식으로 출력되어서 읽을 수가 없다.
설정 코드
using var stream = new FileStream(outputPath, FileMode.Create);
using var writer = new Utf8JsonWriter(stream, new JsonWriterOptions() { Indented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping });
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping를 설정하면
>> 설정 후
"#Desc": "하트 선글라스1"
로 출력되고 내용 확인이 가능해진다.
출처
[ASP.NET Core] - JsonSerializer 이용 시 escape 하지 않는 방법
들어가며 ASP.NET CORE를 이용해서 프로젝트를 진행하던 도중, 타 사업부서와의 협업으로 인해 escape 처리가 되지 않은 문자열을 가공해줘야할 경우가 생겼습니다. 이를 해결하기 위해서 사용했던
holjjack.tistory.com
'프로그래밍 > C#' 카테고리의 다른 글
C# List Sort()를 사용해서 정렬하기 (1) | 2023.11.23 |
---|---|
C# 8 : using 선언 (0) | 2023.11.10 |
C# IDisposable에 대해서 (1) | 2023.11.03 |
C# Convert 메서드 (0) | 2023.10.12 |
리터럴(Literal)과 상수(Constant)에 대해서 (0) | 2023.10.06 |
댓글