摆脱sqare护腕。或者如何获得实际的字符串

时间:2018-03-29 13:11:00

标签: java automated-tests rest-assured-jsonpath

我已经开始使用Java进行最初的盲目步骤了。

我的请求很少,实际上效果很好,我开始添加断言。 所以我发送请求,获取JSON作为响应,提取它。我需要验证它的一部分是否等于"成功"。

我把它当作

Response res = given().
when().post("/profile").then().contentType(ContentType.JSON).extract().response();

rc3 = res.path("op_list.msg").toString();

System.out.println(rc3);

因此,根据toString方法的文档,输出看起来像数组。当然,断言不会起作用:(它看到了

之间的区别
  

[成功]

  

成功

内部代码要求不建议使用子字符串。我只是觉得我使用了错误的方法,但除asString之外没有找到任何方法,但它不能使用路径表达式。 我没有任何线索或相关搜索结果。如果你能帮我提出建议,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

你有没有试过子串?

rc3.substring(0,rc3.length()-1)之类的东西应该可以胜任,另一种解决方案是使用replaceAll方法,或者使用一些JSON解析库。

答案 1 :(得分:1)

  1. 您可以substring输出。
  2. 您可以使用contains()类的String方法。
  3. 您可以使用Jackson将其转换为Java Object。请参阅Jackson Blog

答案 2 :(得分:-1)

您可以尝试以下方法:

字符串输入=" [成功]&#34 ;;

String replacementInput = Input.replaceAll(" [,]","");

希望这有帮助!