是否可以使用JsonPath计算成员数量?
使用Spring MVC Test我正在测试生成的控制器
{"foo": "oof", "bar": "rab"}
与
standaloneSetup(new FooController(fooService)).build()
.perform(get("/something").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk())
.andExpect(jsonPath("$.foo").value("oof"))
.andExpect(jsonPath("$.bar").value("rab"));
我想确保生成的json中没有其他成员。希望通过使用jsonPath计数它们。可能吗?也欢迎其他解决方案。
要测试 数组的 大小:jsonPath("$", hasSize(4))
要计算 对象的 成员:jsonPath("$.*", hasSize(4))
即测试API返回4个项目的 数组 :
接受值: [1,2,3,4]
mockMvc.perform(get(API_URL))
.andExpect(jsonPath("$", hasSize(4)));
测试API是否返回包含2个成员的 对象 :
接受值: {"foo": "oof", "bar": "rab"}
mockMvc.perform(get(API_URL))
.andExpect(jsonPath("$.*", hasSize(2)));
我正在使用Hamcrest版本1.3和Spring Test 3.2.5。
hasSize(int)javadoc
注意:您需要包括hamcrest-library依赖项,并且import static org.hamcrest.Matchers.*;
hasSize()才能起作用。
是否可以使用JsonPath计算成员数? 使用spring mvc测试,我正在测试一个生成 具有 我想确保生成的json中没有其他成员。希望通过使用jsonPath计算它们。可能吗?也欢迎其他解决方案。
我的工作对象是: SpringMVC测试 汉克雷斯特 JsonPath 我对服务器的响应有以下几点看法: 以下工作符合预期(有效): 我需要测试是1。确认存在1项。它再次确认以下内容: 我试过: 观察和
在JMeter中,我想检查从服务器接收到的JSON数组中的对象数。 例如,在一个特定的请求中,我期望一个包含5个对象的数组。 [{...},{...},{...},{...},{...}] 读完这个:使用jsonpath?计数成员后,我尝试使用以下JSON路径断言: JSON路径:$ 然而,这似乎没有正常工作。当我真的在数组中收到5个对象时,响应断言说它不匹配。 我做错了什么?或者我还能怎么做?
JsonPath 对于 JSON 来说相当于 XPATH 对于 XML。这是一个简单的从文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Java, Python 和 PHP
我有一个JSON文件,里面有很多对象和数组以及数组中的对象。 我在JSON path-data . offer . travels[1]. routes中的routes对象中有一个源和目的地之间的路由列表。 在每个路由对象中都有一个名为支路的数组,其长度可以是1、2或3。我编写了一个带有for循环的方法,在路由对象中循环并返回第一个只有1条支路的路由索引。但是它给出了一个错误。 为此编写了一个fo
问题内容: 我有一个简单的应用程序,它需要遍历一个大型数组(包含约2万个项目),并且在每个数组中,我解析一个子数组。每个项目如下所示: 我正在遍历每个项目。我要做的是首先读取长度,然后简单地遍历整个数组。但这非常慢(例如每秒1个项目)。 有没有优化的方法? 问题答案: 得到它了。多亏了Erwin,我可以一次将整个JSON解析成一个简单的样子: 然后我们可以简单地调用以访问循环中的特定项目: