首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JAVA中转义特殊字符Restful查询字符串

如何在JAVA中转义特殊字符Restful查询字符串
EN

Stack Overflow用户
提问于 2020-12-28 10:18:39
回答 1查看 1.2K关注 0票数 2

我尝试修改现有的查询字符串以筛选指定的条件:现在查询字符串如下:

代码语言:javascript
复制
String bodycontent="{"
                +"  \"_source\": [\"@timestamp\",\"eqpid\",\"lotid\",\"stageid\",\"srvmethod\",\"parm_1\",\"apcack\",\"description\",\"host\",\"path\",\"action\"],"
                +"  \"query\": {"
                +"    \"query_string\" : {"
                +"        \"query\":\" lotid:"+q_lotid+" AND "+host_type+"\"}"
                +"  },"
                +"  \"sort\" : [{\"@timestamp\" : { \"order\" : \"desc\" }}]"
                +"}";

我想更改下面的查询条件:

代码语言:javascript
复制
query :
type:ams_log AND (alm_source:K*) AND (alm_id:TCS00004 OR alm_id:TCS00005 OR alm_id:TCS00007 OR alm_id:TCS00008 OR alm_id:TCS00009 OR alm_id:TCS00010 OR alm_id:TCS00011 OR alm_id:TCS00012 OR alm_id:TCS00013 OR alm_id:TCS00020 OR alm_id:TCS00024 OR alm_id:TCS00032)

但是,我很困惑如何用斜杠\和双引号"修改查询字符串。我找不到规矩了,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-28 10:30:47

  • Slash - \\
  • Quote - \"

代码语言:javascript
复制
System.out.println("\\ \"hello\"");

输出:

\ "hello"

关于您的查询,似乎键和值都必须在引号"key":"value"之间。

代码语言:javascript
复制
String lotId="2020_A_88";
String type="apples";
String queryPart = "\"lotId\":\""+lotId+"\" AND \"type\":\""+type+"\"";
System.out.println(queryPart);    

"lotId":"2020_A_88" AND "type":"apples"

代码语言:javascript
复制
String example = String.format("Slash-> %s , Quotes-> %s", "\\" ,"\"name\""); 
System.out.println(example);

Slash-> \ , Quotes-> "name"

代码语言:javascript
复制
String s = "\\";
String q = "\"name\"";
System.out.println("Slash-> "+s+" , Quotes-> "+q);

Slash-> \ , Quotes-> "name"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65476057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档