Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置http正文-向字符串添加json时,我没有得到所需的响应_Java_Json_String_Escaping_Katalon Studio - Fatal编程技术网

Java 如何设置http正文-向字符串添加json时,我没有得到所需的响应

Java 如何设置http正文-向字符串添加json时,我没有得到所需的响应,java,json,string,escaping,katalon-studio,Java,Json,String,Escaping,Katalon Studio,我正在使用Katalon studio发送HTTP请求。在发送请求之前,我想编辑JSON对象的主体 JSON-Body { "properties":{}, "routing_key":"actions.process.x.1", "payload": "{ \"type\":\"SEND_TWEET\", \"twitterAccessTokens\":{ \"token\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfh

我正在使用Katalon studio发送HTTP请求。在发送请求之前,我想编辑JSON对象的主体

JSON-Body

{
  "properties":{},
  "routing_key":"actions.process.x.1",
  "payload": "{
    \"type\":\"SEND_TWEET\",
    \"twitterAccessTokens\":{
      \"token\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\",
      \"secret\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\"
    },
    \"screenName\":\"D123\",
    \"text\":\" #automation_br test test test 111\"
  }",
  "payload_encoding":"string"
}
在发送请求而不编辑正文时:打印正确的JSON

def originalBody = request.getHttpBody()
System.out.println('O_Body: ' + originalBody)

Response: Start action : Statement - out.println("O_Body: " + originalBody)

{
  "properties":{},
  "routing_key":"actions.process.x.1",
  "payload": "{
    \"type\":\"SEND_TWEET\",
    \"twitterAccessTokens\":{
      \"token\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\",
      \"secret\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\"
    },
    \"screenName\":\"D123\",
    \"text\":\"hello test test test 1 2 3\"
  }",
  "payload_encoding":"string"
}
当我编辑http正文并尝试添加我自己的转义字符串以及生成的添加变量时,我得到以下输出:

//String
String Body = '{\n "properties":{},\n"routing_key":"actions.process.x.1",\n"payload":"{\n     \\"type\\":\\"SEND_TWEET\\" ,\n \\"twitterAccessTokens\\":{\n     \\"token\\":\\"845259605840183297-O0RYViNU5mCt0WutyWdo4URGyiQLMjI\\",\n     \\"secret\\":\\"78Qy1FQ26YEHMpSiMEUS38IHg3wvTLdDhwdDy0kF55rcI\\" \n },\n     \\"screenName\\":\\"Deane56935078\\",\n \\"text\\":\\"@Deane56935078     #automation_br ' + randomString + ' \n}",\n "payload_encoding":"string" \n}'
System.out.println('Body: ' + Body)

//Change HTTP Body
request.setHttpBody(Body)
输出:

"{
 "properties":{},
"routing_key":"actions.process.x.1",
"payload":"{
 \"type\":\"SEND_TWEET\" ,
 \"twitterAccessTokens\":{
 \"token\":\"845259605840183297-O0RYViNU5mCt0WutyWdo4URGyiQLMjI\",
 \"secret\":\"78Qy1FQ26YEHMpSiMEUS38IHg3wvTLdDhwdDy0kF55rcI\" 
 },
 \"screenName\":\"Deane56935078\",
 \"text\":\"@Deane56935078 #automation_br " + randomString + " 
}",
 "payload_encoding":"string" 
}"
在编辑正文之后,JSON在开头和结尾都有倒逗号。不会打印随机字符串值,而是打印名称


在字符串中使用JSONI时,是否有人可以帮助转义字符?

您可以创建一个自定义关键字来转义字符串,以便在整个测试用例中使用它。这具有您需要或使用的功能

在测试用例中使用时,您需要替换

\”text\”:\”@Deane56935078 #automation_br " + randomString + " 


您应该立即重新生成API密钥,因为您忘记了从您制作的一个粘贴中编辑您的twitter API密钥。
Customkeywords.quote("@Deane56935078 #automation_br " + randomString);