当前位置: 首页 > 知识库问答 >
问题:

无法从restasured Response(在Json中)获取Json对象

胡昊
2023-03-14

我从服务器收到json格式的响应,方法是使用restAsaud使用java点击post Request。

Response response = requestSpecification.body(text).post(endpoint);

现在我想获取名为“freebies”的子json对象。如何执行此操作,因为在写入时:

JSONObject responseJSONObject = new JSONObject(response);

//jsonObject.getJSONObject("freebies").getString("id");

JSONArray list = jsonObject.getJSONArray("freebies");

String freebies = list.getJSONObject(0).getString("id");

    for (int i = 0; i < freebies.length(); i++) {
        String id = list.getJSONObject(i).getString("id");
        System.out.println(id.toString());
        String name = list.getJSONObject(i).getString("name");
        System.out.println(name.toString());
        String packName = list.getJSONObject(i).getString("packName");
        System.out.println(packName.toString());
        String quota = list.getJSONObject(i).getString("quota");
        System.out.println(quota.toString());

我得到了stackoverFlow错误。

请帮帮忙。

共有3个答案

欧奇希
2023-03-14

在RestAsmed 4.4.0中,以下工作:

JSONObject jsonObject = new JSONObject(response.jsonPath().getJsonObject(“$”));

丁志勇
2023-03-14
ValidatableResponse statusResponse = givenJsonRequest().when()
    .get("/field/entity/test").then();
ArrayList<Map<String,?>> jsonAsArrayList = statusResponse.extract()
    .jsonPath().get("");
Optional<Map<String,?>> filtered = jsonAsArrayList.stream()
    .filter(m -> m.get("fieldName1").equals("Whatever1"))
    .filter(m -> m.get("jsonObject").toString().contains("Whatever2"))
    .findFirst();
Assert.assertTrue(filtered.isPresent(), "Test expected a result after filtering.");
马清野
2023-03-14

尝试使用以下代码行将restassured响应正文转换为JSONObject格式:

JSONObject responseJSONObject = new JSONObject(response.getBody().asString);
 类似资料:
  • 问题内容: 我有一个网址,返回的是这样的JSON对象: 我想获得价值。那么如何通过PHP检索它呢? 问题答案: $json = file_get_contents(‘url_here’); $obj = json_decode($json); echo $obj->access_token; 为此,需要启用它。可以通过在运行时完成以下操作来实现: 您也可以使用获取网址。要使用卷曲,可以使用中发现的

  • 我有一个名为AnimalsData的文件,它有一个由数组组成的对象。数组由一个对象和另一个数组组成。它看起来像这样: 我的HTML文件如下所示: 我正试图获取的值的类名对象从动画类数组。我一直在使用以下两个stackoverflow页面作为指南: 访问JSON数组中的对象和访问/处理(嵌套)对象、数组或JSON 我有另一个javascript文件,其中包含以下内容: 编辑我将for in循环中的"

  • 我有一个返回JSON对象的URL,如下所示: 我想从URL获取JSON对象,然后获取值。 那么如何通过PHP检索它呢?

  • 我是Golang的初学者。你能帮我调用功能吗?下面是一个示例: 输出: 我怎么能只得到? 如果我的响应包含更多的对象 如何仅获取姓名?不知道如何解码或打电话。

  • 我有一个简单的web应用程序,我从应用程序的前端获取json。我有一个对象,它包含很少的属性和一个对象数组。 它看起来像这样: 我通过使用。我用向我的PHP-Laravel后端发送了一个请求,我想对它进行解析。 这就是我所拥有的: 我尝试像这样获取json数据: 但它就是不起作用。我总是遇到一个错误,我试图访问对象上的,但它不存在。我也试过这样做: 但是我也有同样的问题。我做错了什么,我看到了关于

  • 我用邮递员寄出这个请求https://postman-echo.com/get?record=aaaa 测试包含以下代码: 控制台中的输出: 对象对象 我所期待的:回应json {“args”:{“record”:“aaaa”},“headers”:{“x-forwarded-proto”:“https”,“x-forwarded-port”:“443”,“host”:“postman echo.