2017-12-01 20 views
-1

일부 제어 문자의 구문 분석 문제가 있습니다. 유니 코드 제어 문자가 포함 된 문자열이 있습니다. "mongodb"(mongo-java-driver) 라이브러리의 json 파서를 사용하여 주어진 문자열을 구문 분석합니다. 그것은 JSONParserException을 던지고있다.자바에서 BELL (U + 0007)() 제어 문자에 대한 이스케이프 시퀀스를 추가하는 방법

코드 조각 :

String ctrlStr = "{\"location\": \"\"}"; 
try { 
JSONParse.parse(ctrlStr) 
} catch(Exception e) { 
log.error(e.getMessage()); 
} 

참고 : "종"기호는 코드에 표시되지 않습니다.

""(종) 기호의 이스케이프 시퀀스를 추가하는 방법을 알려줄 수 있습니까? 미리 감사드립니다.

+1

당신이 Reddappa 레디를 알고 계십니까? 이전 질문에서 분명하지 않은 가정을 만들어 질문을 많이 변경했습니다. –

+1

안녕하세요 @MalteHartwig, 위의 수정이 정확합니다. –

답변

0

JSON 문자열에는 제어 문자 (reference)가 포함될 수 없습니다.

대신 ASCII 텍스트 \u0007을 쓸 수 있습니다. 이 문자는 java에 있습니다 :

"\\u0007" 

(이스케이프 처리) 그렇지 않으면 다시 BEL 제어 문자가 표시됩니다.

교체 : M.S.Naidu @

s = s.replace("\u0007", "\\u0007");