版本: 6.8-8.9
简要来说,当Elasticsearch期望在请求体中找到JSON对象时却发现了空对象"{}",就会发生此错误。这可能是由于格式错误或空的请求体导致的。要解决此问题,请确保请求体包含有效的JSON对象。检查您的应用程序代码,确保其正确格式化了请求。如果您手动发送请求,请确保JSON结构正确且不为空。此外,确保为请求使用了正确的HTTP方法(GET、POST、PUT、DELETE)。
日志上下文 #
日志"expected object but found {} instead"的类名是 PutPrivilegesRequestBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用:
XContentParser.Token token = parser.currentToken();
if (token == null) {
token = parser.nextToken();
}
if (token != XContentParser.Token.START_OBJECT) {
throw new ElasticsearchParseException("expected object but found {} instead"; token);
} Listprivileges = new ArrayList<>();
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
token = parser.currentToken();





