如何在 JAVA 中转义特殊字符 Restful API 查询字符串
How to escape special character Restful API query string in JAVA
我尝试修改现有查询字符串以过滤指定条件:
现在查询字符串如下:
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\" }}]"
+"}";
我要更改以下查询条件:
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)
但我很困惑如何用斜杠 \
和双引号 "
修改查询字符串。
我找不到规则,谢谢!
- 斜杠 -
\
- 报价 -
\"
System.out.println("\ \"hello\"");
输出:
\ "hello"
关于您的查询,似乎键和值都必须在引号之间 "key":"value"
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"
String example = String.format("Slash-> %s , Quotes-> %s", "\" ,"\"name\"");
System.out.println(example);
Slash-> \ , Quotes-> "name"
String s = "\";
String q = "\"name\"";
System.out.println("Slash-> "+s+" , Quotes-> "+q);
Slash-> \ , Quotes-> "name"
我尝试修改现有查询字符串以过滤指定条件: 现在查询字符串如下:
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\" }}]"
+"}";
我要更改以下查询条件:
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)
但我很困惑如何用斜杠 \
和双引号 "
修改查询字符串。
我找不到规则,谢谢!
- 斜杠 -
\
- 报价 -
\"
System.out.println("\ \"hello\"");
输出:
\ "hello"
关于您的查询,似乎键和值都必须在引号之间 "key":"value"
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"
String example = String.format("Slash-> %s , Quotes-> %s", "\" ,"\"name\"");
System.out.println(example);
Slash-> \ , Quotes-> "name"
String s = "\";
String q = "\"name\"";
System.out.println("Slash-> "+s+" , Quotes-> "+q);
Slash-> \ , Quotes-> "name"