You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kibana REST接口执行Elasticsearch SQL查询遇JSON解析错误求助

解决Elasticsearch SQL查询的JSON解析错误(CTRL-CHAR code13)

从错误信息里的Illegal unquoted character ((CTRL-CHAR, code 13))可以直接定位问题:你的JSON请求中,query字段的字符串包含了未转义的换行/回车字符,这违反了JSON语法规则——JSON字符串不能直接换行,必须转义或写成单行。

你之前尝试转义单引号完全找错了方向,单引号在JSON的双引号字符串里不需要转义,问题根本不在这。

正确的解决方法有两种:

  1. 将SQL查询写成单行
    直接去掉换行,让整个SQL语句放在JSON字符串的同一行:
POST /_sql?format=txt
{
  "query": "select * from table where match(description, 'item')"
}
  1. 转义换行字符
    如果想保留SQL的换行格式,需要用\n替换实际的换行(回车):
POST /_sql?format=txt
{
  "query": "select * from table\nwhere match(description, 'item')"
}

为什么之前的修改无效?

你修改后的请求依然保留了换行,只是转义了单引号,这并没有解决JSON字符串里的控制字符问题,所以错误会持续出现。只要确保query字段的字符串没有未转义的换行/回车,JSON就能正常解析,SQL查询也能正常执行。

内容的提问来源于stack exchange,提问作者asfand hikmat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:54:14