json - curl: (3) [globbing] 不匹配的右大括号/方括号
问题描述
我尝试使用 curl 将 JSON 对象 POST 到 ElasticSearch 服务器,但不断收到 globbing 错误这是我的 curl 命令:
curl -X POST "localhost:9200/school/_doc/10?pretty" -H "Content-type:application/json" -d "{"firstName":"Bilbo","lastName":"Baggins"}"
我从服务器得到的错误:
{
"error" : {
"root_cause" : [
{
"type" : "mapper_parsing_exception",
"reason" : "failed to parse"
}
],
"type" : "mapper_parsing_exception",
"reason" : "failed to parse",
"caused_by" : {
"type" : "json_e_o_f_exception",
"reason" : "Unexpected end-of-input: expected close marker for Object (start marker at [Source: (byte[])\"{\"; line: 1, column: 1])\n at [Source: (byte[])\"{\"; line: 1, column: 2]"
}
},
"status" : 400
}
curl: (3) [globbing] unmatched close brace/bracket in column 33
解决方案
您的命令有语法问题,您的请求的curl
正确curl
命令是
curl -v -XPOST -H "Content-type: application/json" -d '{"firstName":"Bilbo","lastName":"Baggins"}' 'localhost:9200/school/_doc/10?pretty'
使用 REST 格式和 REST客户端(如邮递员)使用 Elasticsearch 的最佳方式,但如果您仍然想使用curl
,您可以使用此在线 curl 构建器来避免语法问题。
推荐阅读
- ios - 如何找到给定视图显示在哪个 UIScreen 上?
- java - RestEasy 客户端提供找不到内容类型应用程序/xml 类型的编写器
- php - Laravel 更短或更简洁的代码和更安全的连接表形成多个数据库的方法
- javascript - 如何为同一事件传递不同的事件处理程序?
- git - Visual Studio 不适用于 git worktree
- wordpress - WordPress - 检查 front-page.php 上是否有帖子
- azure-devops - Gitlab 到 azure 板的集成
- javascript - Vuejs 在表单中具有递增数字
- python - 有没有办法在 Seaborn 或 Matplotlib 中获得多层次的色调?
- javascript - 为什么使用传播功能时它不改变?