Programing

JsonparseException 인용되지 않은 잘못된 문자 ((CTRL-CHAR, 코드 10)

crosscheck 2020. 11. 2. 07:39
반응형

JsonparseException 인용되지 않은 잘못된 문자 ((CTRL-CHAR, 코드 10)


org.apache.httpcomponentsjson 형식 데이터를 api에 게시하는 나머지 api 를 사용하는 데 사용하려고합니다 .

나는 예외를 얻는 동안

원인 : com.fasterxml.jackson.core.JsonParseException : 따옴표없는 잘못된 문자 ((CTRL-CHAR, 코드 10)) : 문자열에 포함 되려면 백 슬래시를 사용하여 이스케이프해야합니다.

이유는 ctrl-charjson 문자열에 포함되어 있습니다.

이. 또는 다른 솔루션을 대체하는 방법이 있습니까?

감사!


이는 JSON 문자열 리터럴에 개행 문자 (또는 기타 제어 문자)가있는 경우 발생할 수 있습니다.

{"foo": "bar
baz"}

데이터를 생성하는 사람이라면 "\\n"문자열 리터럴을 만들 때 실제 줄 바꿈을 이스케이프 처리 된 줄로 바꿉니다.

{"foo": "bar\nbaz"}

사용

mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);

javadoc 참조 :

 /**
   * Feature that determines whether parser will allow
   * JSON Strings to contain unquoted control characters
   * (ASCII characters with value less than 32, including
   * tab and line feed characters) or not.
   * If feature is set false, an exception is thrown if such a
   * character is encountered.
   *<p>
   * Since JSON specification requires quoting for all control characters,
   * this is a non-standard feature, and as such disabled by default.
   */

이 문제를 일으키는 (보이지 않는) 특수 문자 나 이스케이프 문자가 있는지 확인하려면 Vim과 같은 텍스트 편집기를 사용하는 것이 좋습니다.

또는 Windows를 사용하는 경우에도 간단합니다 ... Windows 메모장에 코드를 복사하여 붙여 넣으면 보이지 않는 원치 않는 이스케이프 문자 나 줄 바꿈 등이 표시 될 가능성이 큽니다. 수정하면 완료됩니다!


Salesforce 플랫폼에서이 오류는으로 인해 발생 /하며 해결 방법은 //.

참고 URL : https://stackoverflow.com/questions/31537153/jsonparseexception-illegal-unquoted-character-ctrl-char-code-10

반응형