SpringBoot에서 반환 된 JSON은 슬래시로 이스케이프됩니다.

내 프레임 워크는 반환 유형에 패키징 결과를 추가하지만 공백을 남겼습니다. 즉, 반환하는 String은 래핑되지 않습니다. 나는 최근에 인터페이스를 작성했는데, 이전 인터페이스에서 반환했기 때문에 반환 결과를 변경할 수 없으므로 반환하는 String은 래핑되지 않습니다. 코드는 다음과 같습니다.

    @RequestMapping(value = "webSwitch")
    public Object webSwitch() {
        JsonObject result = new JsonObject();
        result.addProperty("success", 200);
        result.addProperty("message", "ok");
        result.addProperty("openWeb", showWebVO.getOpenWeb());

        return result.toString();
    }

테스트 결과에서 반환 된 결과에는 백 슬래시가 있으며 json으로 구문 분석 할 수 없습니다. 결과는 다음과 같습니다.

"{\"success\":200,\"message\":\"ok\",\"openWeb\":true,\"webUrl\":null}"

이유 분석 : CustomGsonMessageConvertor를 프레임 워크에서 먼저 배치했기 때문에 기본적으로 응답을 작성하는 데 사용합니다. 결과적으로 gson이 문자열을 쓸 때 json 형식의 특수 문자가 있음을 발견하고 이스케이프합니다.

이유를 파악한 후 다음을 추가합니다. 생성 = "text / plain"및 StringhttpMessageConvertor에 의해 다시 작성됩니다.

추천

출처blog.csdn.net/CharlesYooSky/article/details/109477983