📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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();