当我尝试在 java 中使用 spring 时,我得到了一个 HttpMessageNotReadableException。打印的 Stacktrace 说:
嵌套异常是 org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:非法字符((CTRL-CHAR,代码 31)):标记之间只允许常规空格(\r、\n、\t)
这与我获取信息的方式有关,还是与我的回复格式有关?
我叫它的方式是:
HttpEntity<JSONObject> entity = new HttpEntity<JSONObject>();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Accept", "application/x-gzip");
headers.set("charset", "UTF-8");
return getConnector().exchange(url, HttpMethod.GET, entity, JSONObject.class);
getConnector() 返回一个 RestConnector
响应头包括: Content-Encoding: gzip Content-Type: application/json
我不知道它是否与编码为gzip有关
编辑:问题是内容编码是 gzip..最后,我使用了支持 gzip 编码的 HttpClient