我正在使用Rest Assured API通过selenium自动化程序执行调用后操作
{
"cmsContract": "HA1123",
"groupId": "12345",
"siteId": "4444-AP",
"stateCountyCode": "7978790"
},
{
"cmsContract": "HB2345",
"groupId": "9876",
"siteId": "8888-DK",
"stateCountyCode": "111225"
}
响应中大约有1000个或更多JSON对象。而且它们没有响应的标识符,比如“name”或“contractinfo”
我的质疑: 1.我如何检索数组的总数(如从'{
'到'}
')使用Rest保证API结合JAVA和selenium?
请建议。
使用的图书馆─
org.json.JSONObject;
io.restassured.RestAssured;
io.restassured.response.Response;
io.restassured.specification.RequestSpecification;
您可以使用JsonPath
解析JSON响应。基本上,您可以从字符串、文件或响应获取JsonPath
类。
从字符串:
JsonPath path = JsonPath.from("json string");
从文件:
JsonPath path = JsonPath.from(new File("path to file"));
答复如下:
Response response; //we get it from RestAssured by calling POST/GET etc
JsonPath path = response.body().jsonPath();
为了获得JSON结构中的任何元素,就像您的情况一样,我们必须将其提供给JsonPath
。JSON示例:
{
"data": [
{
"name": "test"
},
{
"name": "test1"
}
]
}
为了访问数组中的元素,我们必须知道它的所有父元素。结构如下所示:
path.get("parent.child.anotherChild");
数组的问题变得更加棘手,因为我们必须使用索引。上例中的“data”
是一个数组。为了访问test1
,我们将使用:
path.get("data[1].name"); //second element in the array
但这是标准方法。JsonPath是一个强大得多的库。
最后,回答你的问题。我们如何获得数组中JSON对象的计数?
List<HashMap<String, Object>> jsonObjects = path.getList("data"); //You have to provide name of the Array's parent. In my case, it's `data`
在上面的HashMaps列表中,JSON数组中有所有JSON对象。因此,您可以使用多种方法来计算元素。
要计算JSON对象的数量,只需使用List的方法:
jsonObjects.size();
使用相同的List,我们可以得到cms合同
值,如您的示例中所示。我们寻找值HB2345
。
循环的标准。如果您知道如何使用流,您可以使用流。
public String getStateCountryCodeFromCmsContract(String cmsContractValue) {
for (HashMap<String, Object> singleJsonObject : jsonObjects) {
String cmsContract = (String) singleJsonObject.get("cmsContract");
if (cmsContract.equals(cmsContractValue)) {
return (String) singleJsonObject.get("stateCountyCode");
}
}
}
我们迭代每个JSON对象,检查
cmsContract
元素的值,如果它等于所需的值,则返回stateCountryCode
值。
希望有帮助!
问题内容: 我堆了一会儿。我尝试调试,但找不到解决方案。我正在尝试计算数字的出现。所以我的问题是当我打印输出时 代替 因此,如果数字出现的次数超过1,则应该只说一次,而不是出现的次数。欢呼这是代码 问题答案: 另一个选项是番石榴的Multiset类,它将为您跟踪计数: 在这里,Multiset,HashMultiset和Ints都是番石榴类。 请注意,Multiset通过使用Map和counter
问题内容: 我正在尝试计算由文本字段接收的输入填充的数组的总数,均值和中位数。我设法算出了总数和均值,但我只是无法获得中位数。我认为在执行此操作之前需要对数组进行排序,但是我不确定如何执行此操作。这是问题吗,还是我没有找到另一个问题?这是我的代码: 问题答案: Java中的Arrays类具有静态的排序功能,您可以使用调用该功能。
本文向大家介绍计算C ++中数组中的素数,包括了计算C ++中数组中的素数的使用技巧和注意事项,需要的朋友参考一下 给我们一个数字数组。目的是找到该数组中素数的计数。 质数是可以被1和数字本身整除的数。它只有两个因素。我们将检查从第一个元素到最后一个元素是否为质数,并增加迄今发现的质数。 要检查数字N是否为质数,请检查[2到N / 2]范围之间的数字是否将N整除。如果是,则它不是质数。否则,它是首
我试图计算由TextField接收的输入填充的数组的总数、平均值和中位数。我已经算出了总数和平均数,但中位数无法计算出来。我认为在我可以这样做之前需要对数组进行排序,但我不确定如何这样做。是这个问题,还是还有一个我没有找到的?下面是我的代码:
所以,这不是关于如何计算数字中的数字。它是如何计算每一个有多少。说: 多少个0,多少个1等等,我想把它放到树形图中 那我该怎么做呢? 数组将是任意大小的,所以我想我可以循环通过它,对于每个新的int,检查每个数字,如果那么等。但不确定如何增加KV映射中的值。
如何计算数组中数字的平均值? 看看我是如何获取数据的; 我想知道每个阵列的平均值,所以: 我在React工作。我从React Redux中的选择器获取数据。我用它来计算每个用户的平均评论。 代码: