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

获取所有日期使用Rest保证

高峻
2023-03-14

我使用rest-assured来测试我的API,我有一个数组列表,其中包含需要与JSON响应进行比较的日期,但我无法从响应中获取所有日期值

ArrayList<String> jsonElement = response.path("result[0].data[0].record.date");

我只获取第一个数组对象的记录

以下是我的 JSON 响应

{
      "statusCode": 200,
      "result": [
        {
          "data": [
            {
              "record": [
                {
                  "date": "2016-09-07T00:00:00.000000Z"
                },
                {
                  "date": "2016-07-07T00:00:00.000000Z"
                },
                {
                  "date": "2016-07-21T00:00:00.000000Z"
                },
                {
                  "date": "2017-03-31T00:00:00.000000Z"
                },
                {
                  "date": "2017-01-30T00:00:00.000000Z"
                }
              ]
            },
            {
              "record": [
                {
                  "date": "2017-07-20T00:00:00.000000Z"
                },
                {
                  "date": "2017-08-07T00:00:00.000000Z"
                },
                {
                  "date": "2018-01-06T00:00:00.000000Z"
                }
              ]
            }
          ],
          "id": "34567890"
        }
      ]
    }

共有1个答案

胡俊贤
2023-03-14

我可以想出不同的方法来完成这项工作,但考虑到结果将始终是1,这是一个解决方案

    JsonPath js = new JsonPath(json);

    ArrayList<String> original = new ArrayList<String>();

    int count = js.getInt("result[0].data.size()");

    for (int i = 0; i < count; i++) {
        original.addAll(js.get("result[0].data[" + i + "].record.date"));
    }

    System.out.println("Dates : "+original);
    System.out.println("Count : "+original.size());
    System.out.println("Third Date : "+original.get(2));

输出:

Dates : [2016-09-07T00:00:00.000000Z, 2016-07-07T00:00:00.000000Z, 2016-07-21T00:00:00.000000Z, 2017-03-31T00:00:00.000000Z, 2017-01-30T00:00:00.000000Z, 2017-07-20T00:00:00.000000Z, 2017-08-07T00:00:00.000000Z, 2018-01-06T00:00:00.000000Z]
Count : 8
Third Date : 2016-07-21T00:00:00.000000Z
 类似资料:
  • 问题内容: 我有一个日期,以及如何使所有日期都落在给定日期所属的一周的Java中? 有人可以帮我这个吗。 我正在尝试获取给定日期的星期日期,我已经解释了为什么这个问题不是重复的,请在评论前阅读。 问题答案: 您可以尝试以下方式, 输出值

  • 我有此queryDSL查询: 但是,如果我要查找从到的行,则不起作用。或从09/04/2018到09/05/2018-仅找到09/04/2018行。 我可以将23.59.59 time添加到中,但也许在查询DSL中有一些选项可以这样做? 例如-获取从开始日期到结束日期(含)的所有行

  • 下面是我用来访问过去10天前的日期的代码。输出为'20130103',即今天的日期。我如何返回今天的日期-10天?我被限制使用内置的java日期类,所以不能使用joda时间。

  • 问题内容: 在新API中是否有可能获取 两个日期之间的所有日期? 假设我有这部分代码: 现在我需要介于和之间的所有日期。 我正在考虑获取两个日期中的一个并进行迭代: 有没有更好的方法来获取日期? 问题答案: 假设您主要想在日期范围内进行迭代,那么创建一个可迭代的类将很有意义。那可以让你写: 就像是: 添加equals和hashcode方法,getter可能很有意义,也许有一个静态工厂+私有构造函数

  • 这是我的pojo类 输入json Spring控制器类 我正在控制台中打印日期值,它是这样打印的。这里我得到的时间是错误的,我应该得到时间07:30:04,但我得到的是13:00:04,除了这个一切都很好 请帮我拿这个。

  • 我在JIRA中创建了一个项目并创建了问题,然后我使用Zephyr插件创建了一个测试周期,并向周期中添加了问题。现在,我想使用Rest调用获取我在测试周期中添加的所有问题。我尝试了以下内容:我对所有项目进行了JIRA搜索,并获得了我的项目id: 获取-http://jira.hk.hsbc/rest/api/latest/project = 583215 然后我使用我的项目ID在我的项目中查找可用的