- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从以下 json 响应中,我正在读取元素 - packageId
public static void main(String[] args) {
String jsonString = "[{\"id\":\"5ea6fe53e4b09a8de7aeb19d\",\"contents\":[{\"pageSize\":6,\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1538998610009\"}],\"name\":\"FEATURE BANNER\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"autoCarousel\":false,\"ty\":\"BANNER\",\"action\":{\"source\":\"BE\",\"contentId\":\"ATV_PACKAGE_1538998610009\",\"t\":\"Play\",\"st\":\"PLAY\"},\"contentAction\":{\"meta\":{}}}},{\"id\":\"5ac37644e4b03f23a4a705dc\",\"contents\":[],\"name\":\"MastheadAd\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"NATIVE_MASTHEAD_AD\",\"action\":{\"source\":\"BE\",\"st\":\"CUSTOM\",\"sTy\":\"CUSTOM_AMAZON\"},\"contentAction\":{\"sTy\":\"CUSTOM_AMAZON\",\"meta\":{}},\"lds\":[],\"adId\":\"/417241724/tv_native_masthead_plain_prod\",\"tId\":[\"11767767\",\"11768950\"]}},{\"id\":\"5d63ca1de4b088013a6236b3\",\"contents\":[{\"pageSize\":50,\"source\":\"RM\",\"packageId\":\"dummy\"}],\"name\":\"Recommended Movies\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"ty\":\"MOVIE_NOLOGO\",\"contentAction\":{\"meta\":{\"sourceName\":\"cf_movies_home\"}}}},{\"id\":\"5d63ca1de4b088013a6236b2\",\"contents\":[{\"pageSize\":50,\"source\":\"RM\",\"packageId\":\"dummy\"}],\"name\":\"Recommended TV Shows\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"ty\":\"MOVIE_NOLOGO\",\"contentAction\":{\"meta\":{\"sourceName\":\"cf_tvshow_home\"}}}},{\"id\":\"5ae6b962e4b088c1fe893389\",\"contents\":[{\"pageSize\":20,\"source\":\"MW\",\"packageId\":\"ATV_PACKAGE_1524207345077\",\"ty\":\"LIVE\"}],\"name\":\"LIVE NEWS\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"bgImgUrl\":\"\",\"ty\":\"TVSHOW_LOGO_43\",\"action\":{\"color\":\"#ff0000\",\"pageId\":\"live_TV\",\"t\":\"More\",\"st\":\"LANDING\"},\"contentAction\":{\"meta\":{}},\"t\":\"LIVE NEWS\"}},{\"id\":\"5e74bffce4b0e60befa24bbb\",\"contents\":[{\"pageSize\":10,\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1568185919253\"}],\"name\":\"Your Daily News in 30 Secs HIndi\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"bgImgUrl\":\"https://image.airtel.tv/pages/rails/5d2d6945e4b06e55de6b8cfe/editorji_highlightrail_background.jpg\",\"ty\":\"TVSHOW_BIG_43\",\"action\":{\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1568185919253\",\"listingType\":\"TVSHOW_BIG_43\",\"t\":\"More\",\"st\":\"LISTING\"},\"contentAction\":{\"meta\":{}},\"t\":\"Your Daily News in 30 Secs\"}},{\"id\":\"5d9ec624e4b0499e024c99c6\",\"contents\":[{\"pageSize\":10,\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1570605272423\"}],\"name\":\"Learn with Xstream\",\"format\":{\"lsTy\":\"EXPLORE\",\"ty\":\"CUSTOM\",\"action\":{\"st\":\"DEFAULT\"},\"contentAction\":{\"source\":\"BE\",\"pageId\":\"ATV_PACKAGE_1570605272423\",\"st\":\"CUSTOM\",\"sTy\":\"LISTING\",\"meta\":{}},\"lds\":[],\"t\":\"Learn with Xstream\"}},{\"id\":\"5c78ce19e4b0d4a057339b17\",\"contents\":[{\"pageSize\":25,\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1540027201907\"}],\"name\":\"MOST WATCHED HOLLYWOOD MOVIES\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"ty\":\"MOVIE_NOLOGO\",\"action\":{\"color\":\"#a1ec00\",\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1540027201907\",\"listingType\":\"MOVIE_NOLOGO\",\"t\":\"More\",\"st\":\"LISTING\"},\"contentAction\":{\"meta\":{}},\"t\":\"Most Watched Hollywood Movies\"}},{\"id\":\"5e789319e4b032c54a8f0646\",\"contents\":[],\"name\":\"Family Movie Card - English + Hindi\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"CARD_NOTITILE_169\",\"action\":{\"source\":\"MW\",\"channelId\":\"MWTV_LIVETVCHANNEL_10000000060880000\",\"t\":\"Play\",\"st\":\"PLAY\",\"meta\":{\"k\":\"1\"},\"ty\":\"LIVE\"},\"contentAction\":{\"meta\":{}},\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5e9083e8e4b0cff1aeeb2d58/Swami_Ramdev_New.jpg\"}},{\"id\":\"5d64b170e4b067b667714913\",\"contents\":[{\"pageSize\":12,\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1566817268865\"}],\"name\":\"BEST HOLLYWOOD Series\",\"format\":{\"lsTy\":\"DEFAULT\",\"showAll\":false,\"ty\":\"MOVIE_NOLOGO\",\"action\":{\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1566817268865\",\"listingType\":\"MOVIE_NOLOGO\",\"t\":\"More\",\"st\":\"LISTING\"},\"contentAction\":{\"meta\":{}},\"t\":\"Best Hollywood Movie Series\"}},{\"id\":\"5e7892e6e4b032c54a8f0645\",\"contents\":[],\"name\":\"Nostalgia Movie Card - English + Hindi\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"CARD_NOTITILE_169\",\"hIcon\":\"https://image.airtel.tv/pages/rails/5e7892e6e4b032c54a8f0645/ic_cplogo_hooq.png\",\"action\":{\"source\":\"BE\",\"packageId\":\"ATV_PACKAGE_1584939335512\",\"listingType\":\"MOVIE_NOLOGO\",\"t\":\"More\",\"st\":\"LISTING\",\"meta\":{\"A\":\"1\"}},\"contentAction\":{\"meta\":{}},\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5e7892e6e4b032c54a8f0645/NOSTALGIA-MOVIES-1032X576_(1).jpg\"}},{\"id\":\"5e99b557e4b0c3a92edf1ee7\",\"contents\":[],\"name\":\"Wynk Music - Vishal Mishra - Live Concert Card Testing\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"CARD_NOTITILE_169\",\"action\":{\"source\":\"BE\",\"contentId\":\"MWTV_LIVETVCHANNEL_10000000060880000\",\"t\":\"Play\",\"st\":\"PLAY\",\"meta\":{\"k\":\"1\"}},\"contentAction\":{\"meta\":{}},\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5e99b010e4b03c81436668d3/1-Lohri-1032X576.jpg\"}},{\"id\":\"5ea70c25e4b0cea120315672\",\"contents\":[],\"name\":\"Astha Gill Type Form Card Test\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"PRODUCT_CARD\",\"action\":{\"url\":\"https://wynkproduct.typeform.com/to/DesNW4\",\"t\":\"Play\",\"st\":\"WEBVIEW\",\"meta\":{\"redirectType\":\"REDIRECT_TV\",\"redirectDeeplink\":\"https://wynkproduct.typeform.com/to/DesNW4\"}},\"contentAction\":{\"meta\":{}},\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5ea70c25e4b0cea120315672/2-Badla-1032X576_(1).jpg\"}},{\"id\":\"5ea711a0e4b0cea120315674\",\"contents\":[],\"name\":\"Aastha Gill - Card - Test\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"CARD_NOTITILE_169\",\"action\":{\"source\":\"MW\",\"channelId\":\"MWTV_LIVETVCHANNEL_10000000060880000\",\"t\":\"Play\",\"st\":\"PLAY\",\"ty\":\"LIVE\"},\"contentAction\":{\"meta\":{}},\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5ea711a0e4b0cea120315674/2-Badla-1032X576_(1).jpg\"}},{\"id\":\"5ea70fcfe4b0cea120315673\",\"contents\":[],\"name\":\"test_card_ndtv\",\"format\":{\"lsTy\":\"DEFAULT\",\"ty\":\"CARD_NOTITILE_169\",\"action\":{\"source\":\"MW\",\"channelId\":\"MWTV_LIVETVCHANNEL_10000000060880000\",\"t\":\"NDTV\",\"st\":\"PLAY\",\"ty\":\"LIVE\"},\"contentAction\":{\"meta\":{}},\"lt\":\"\",\"ds\":\"\",\"lds\":[],\"img\":\"https://image.airtel.tv/pages/rails/5ea70fcfe4b0cea120315673/photo-1549465220-1a8b9238cd48.jpeg\"}}]";
String id = "5ea6fe53e4b09a8de7aeb19d";
String query = "$.[?(@.id=='"+id+"')].contents[*].packageId";
JSONArray packageIds = JsonPath.read(jsonString, query);
System.out.println("Result :: "+packageIds.get(0));
}
输出
Result :: ATV_PACKAGE_1538998610009
最佳答案
看起来get(
将获取一个List
,所以尝试下面的代码来获取List
并获取第一个元素
String packageId = js.getList("find {it.id =='"+idToValidate+"'}.contents.packageId",String.class).get(0);```
关于java - 放心 - 如何放心地解析数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61520897/
例如,我们的响应中有 JSON: {"data":[{"id":1,"active":false},{"id":2,"active":true}]} 通过使用 expect().body("data"
我有这个 json 对象 { "type" : "employee", "columns" : [ { "id" : 1,
当我通过 response.getBody().asString() 将 JSON 主体转换为字符串时,它会在 JSON 响应中丢失换行符。如何保留它们并在控制台输出中显示? 如果我使用简单的 GET
从以下 json 响应中,我正在读取元素 - packageId public static void main(String[] args) { String jsonString
我知道什么是放心,它用于什么目的, cucumber 也是如此。 但问题是我们可以使用 Rest 保证器实现的目标,就像我们可以使用 Cucumber 进行测试一样。 请放心,只需调用 Web 服务并
示例测试: @Test public void shouldGetRoutesList() { Response response = given()
如何在其余测试中将 Accept 和 contentType 设置为 json 项目范围? given() .accept(ContentType.JSON)
我有以下代码可以测试我的 RESTful API: given().baseUri("http://...").get("/categories/all") .then() .body
如果响应 json 是一个空列表,我如何检查 rest-assured (2.4.0)? 鉴于响应 [](带有 header content-type=application/json),我尝试了:
我有用于按名称查找用户的 REST,对于某些搜索词,它会返回在名字或姓氏中包含该词的用户。 GET /search/joe 返回 json 数组: [ {"id": 1, "firstName":
我是 RestAssured api 测试的新手,在运行我的基本代码时遇到异常。我已经添加了所有必需的 jar 并尝试了在线提供的所有建议,但仍然无法找到解决方案。请有人帮助我。提前致谢。 代码 im
我想用 Rest Assured 测试我的休息服务,但当服务返回负零值时我的测试失败。 放心测试: String methodName="multiply"; float[] oper
我正在使用 RestAssured 测试 API。 我调用的方法正在使用下一个注释: @PreAuthorize("hasAnyRole('ROLE1', 'ROLE2', 'ROLE3')") 我的
我需要序列化依赖于 JAXB 注释的 POJO 对象。我可以使用 Jackson 轻松完成此操作(添加 JaxbAnnotationIntrospector)。无需任何显式编码就可以吗? 如果能够像这
这是我的 JSON: [ { "id": 9741962, "name": "getName", "isActive": true }, { "id": 1,
我正在发布简单的数据,例如 { "title" : "test Title" } 到(顺其自然)/posts uri,例如类似 RestAssured.baseURI = "http://localh
我是新人,放心。我已尝试使用以下代码来获取响应 @Test public void getData() throws IOException { Response respo
我正在尝试在java上实现一种方法,确保找到查询JSON文件的值。为此,我使用 io.restassured.path.json.JsonPath 库中的 JSONPath 的 findAll 方法来
我正在尝试测试我正在做的一个小型休息服务,以使用放心来学习。我听从了这个人视频的建议:https://www.youtube.com/watch?v=yDdBOspPp_c 但是在实现该帖子时说:无法
我需要使用 REST Assured Jsonpath 根据匹配条件获取计数值 我尝试了以下方法,但它不起作用: response().jsonPath().getString("{it.B == '
我是一名优秀的程序员,十分优秀!