我是新来的,请放心。我尝试了下面的代码来获得响应
@Test
public void getData() throws IOException {
Response response =
given().
header("authToken",userToken).
when().
get("/students").
then().
contentType(ContentType.JSON).
extract().
response();
String jsonStr = response.getBody().asString();
System.out.println("Tag List************************" + jsonStr);
}
这是json响应
{"max":"20","list":[
{"id":1120,"sId":1120,"sIntId":"150","type":1},
{"id":1121,"sId":1121,"sIntId":"151","type":1}
{"id":1122,"sId":1122,"sIntId":"152","type":1}
{"id":1123,"sId":1123,"sIntId":"153","type":1}
{"id":1124,"sId":1124,"sIntId":"154","type":1}]}
如何计算id或列表的大小。帮助我。
如果只计算列表的大小
,也许您可以:
public static void main(String[] args) {
System.out.println(count(jsonStr, "\"id\""));
}
public static int count(String source, String sub) {
int count = 0;
for (int i = 0; (i = source.indexOf(sub, i)) != -1; i += sub.length()) {
++count;
}
return count;
}
或正则表达式:
public static int countByRegex(String source, String pattern) {
Pattern p = Pattern.compile(pattern);
Matcher matcher = p.matcher(source);
int count = 0;
while(matcher.find())
count++;
return count;
}
System.out.println(countByRegex(str, "id"));
您不必提取响应来验证这一点。你可以这样做:
given().
header("authToken",userToken).
when().
get("/students").
then().
contentType(ContentType.JSON).
body("list.size()", is(5));
但是如果你想从回答中提取它,你也可以:
Response response =
given().
header("authToken",userToken).
when().
get("/students").
then().
contentType(ContentType.JSON).
extract().
response();
int sizeOfList = response.body().path("list.size()");
如果您只对列表的大小感兴趣,而对其他什么都不感兴趣,您可以这样做:
int sizeOfList =
given().
header("authToken",userToken).
when().
get("/students").
then().
contentType(ContentType.JSON).
extract().
path("list.size()");
我的JSON响应如下所示: 我正在尝试提取成功消息和数据。但是,我的控制台输出保持为null。 提取响应后,我的代码将使用Rest Assured接收空响应: 我对成功和数据的响应均为空
我想解析我的JSON响应来验证我获得的响应。 现在,我正在为此使用Rest-放心java API,我通过了关于工具QA和他们正在使用的教程 对于Json:- 现在这个响应是一个JSON对象。但我的嵌套在JSON数组中。 如何解析这些嵌套的Json对象和数组?因为Json响应可以出现在数组和对象的所有组合中。 它们是提供与键相对应的值的可靠方法吗?例:“key”:“value”我去找key,通过那个
我使用的是REST-保证库,我在访问下面JSON响应中的一个特定的键时遇到了一个非常奇怪的问题,这是我代码中的一个对象。 我能够访问其他字段,如,,等使用(或类似),但返回一个空字符串,而它预计将返回"#155"值。
我使用的是junit4提供的restassured。在我的测试方法中,我在mongodb中创建了一个对象,当我运行测试时,它也成功地持久化了。但是我需要存储创建的id,所以我尝试获取响应体。但是< code>response.getBody()。asString()为空。 当我从外部调用restendpoint时,它会返回带有相关字段的响应体,因此rest API没有问题。 如果上述问题没有答案,
我无法从resultDesc中找到文本: 我已经尝试了与命名空间,但我一直得到: 实际反应是: 我尝试过一些链接:https://github.com/rest-assured/rest-assured/wiki/Usage#xml-名称空间 是的,下面的内容可能有用,但我真的很感激能够理解手头的这个问题吗? https://stackoverflow.com/questions/28298851
我是新来的,可以放心。使用请放心,我试图验证数据详细信息是否找到。这里有两个数据细节。有时它将是2,3或5 Am获得响应,如下所示并使用java 代码使用 而不是检查数据名是否为空。我怎么做才能放心。