--- title: "预期 END_OBJECT 但得到 parser.currentToken - 如何解决此 Elasticsearch 异常" date: 2026-03-15 lastmod: 2026-03-15 description: "Elasticsearch在解析JSON输入时遇到语法错误,预期对象结束符但得到了其他标记。" tags: ["JSON解析错误", "语法错误", "Interval查询"] summary: " 版本: 7-8.9 简而言之,当 Elasticsearch 在 JSON 输入中遇到语法错误时,就会发生此错误。它期望对象的结束(一个右花括号 “}”),但却发现了其他标记。这可能是由于 JSON 中缺少或错放了逗号、括号或花括号导致的。要解决此问题,请仔细检查 JSON 输入中的任何语法错误。使用 JSON 验证工具来帮助识别和纠正这些错误。此外,确保所有对象、数组和其他元素都使用正确的标点符号正确关闭。 日志上下文 # 日志 “Expected [END_OBJECT] but got [” + parser.currentToken() + “]” 的类名是 IntervalQueryBuilder.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: provider = IntervalsSourceProvider.fromXContent(parser); } } } if (parser.nextToken() != XContentParser.Token.END_OBJECT) { throw new ParsingException(parser.getTokenLocation(), "Expected [END_OBJECT] but got [" + parser.currentToken() + "]"); } if (provider == null) { throw new ParsingException(parser.getTokenLocation(), "Missing intervals from interval query definition"); } IntervalQueryBuilder builder = new IntervalQueryBuilder(field, provider); " --- > **版本:** 7-8.9 简而言之,当 Elasticsearch 在 JSON 输入中遇到语法错误时,就会发生此错误。它期望对象的结束(一个右花括号 “}”),但却发现了其他标记。这可能是由于 JSON 中缺少或错放了逗号、括号或花括号导致的。要解决此问题,请仔细检查 JSON 输入中的任何语法错误。使用 JSON 验证工具来帮助识别和纠正这些错误。此外,确保所有对象、数组和其他元素都使用正确的标点符号正确关闭。 日志上下文 ----------- 日志 “Expected [END\_OBJECT] but got [” + parser.currentToken() + “]” 的类名是 [IntervalQueryBuilder.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java provider = IntervalsSourceProvider.fromXContent(parser); } } } if (parser.nextToken() != XContentParser.Token.END_OBJECT) { throw new ParsingException(parser.getTokenLocation(), "Expected [END_OBJECT] but got [" + parser.currentToken() + "]"); } if (provider == null) { throw new ParsingException(parser.getTokenLocation(), "Missing intervals from interval query definition"); } IntervalQueryBuilder builder = new IntervalQueryBuilder(field, provider); ```