首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要帮助--如何循环浏览列表和/或地图

需要帮助--如何循环浏览列表和/或地图
EN

Stack Overflow用户
提问于 2017-10-29 00:35:38
回答 1查看 2.6K关注 0票数 1

Scala对我来说是很新的,我一离开门式dsl就会有问题。

在我的例子中,我调用了一个API (Mailhog),它用大量的json格式的邮件来响应。我不能攫取所有的价值。我需要它与“jsonPath”,我需要“正则”以及。这将导致一个映射和一个列表,我需要迭代并保存每个值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.check(jsonPath("$[*]").ofType[Map[String,Any]].findAll.saveAs("id_map"))
.check(regex("href=3D\\\\\"(.*?)\\\\\"").findAll.saveAs("url_list"))

一开始,我想循环“检查”,但没有找到任何可以重复的“get”-request。所以这是一张地图和一张清单。

1)我需要映射的每个值,并且能够用下面的foreach循环来解决这个问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.foreach("${id_map}", "idx") {
    exec(session => {
        val idMap = session("idx").as[Map[String,Any]]
        val ID = idMap("ID")
        session.set("ID", ID)
    })
    .exec(http("Test")
        .get("/{ID}"))
    })}

( 2)我需要清单上的每三个值,并对它们提出一个索取请求。在我这样做之前,我需要替换字符串的一部分。在检查字符串时,我试图替换它们的部分。但是它不适用于findAll。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.check(regex("href=3D\\\\\"(.*?)\\\\\"").findAll.transform(raw => raw.replace("""=\r\n""","")).saveAs("url"))

如何替换列表中每个字符串的一部分?另外,我怎样才能对列表中的每三个元素提出一个get请求。

我不能让它在上面同样的预见结构下工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 06:42:22

我是abole自己解决这个问题的。一开始我对支票做了一点改动(regex.)部分。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.check(regex("href=3D\\\\\"(.*?)\\\\\"").findAll.transform(_.map(raw => raw.replace("""=\r\n""",""))).saveAs("url_list"))

然后,我只想在列表的第三个元素上发出一个Get请求(因为我提取的URL在每个邮件中出现了三次)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.exec(session => {
    val url_list = 
    session("url_list").as[List[Any]].grouped(3).map(_.head).toList
            session.set("url_list", url_list)
})

最后,我用一个foreach-循环迭代我的最终列表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
foreach("${url_list}", "urls") {

    exec(http("Activate User")
        .get("${urls}")
    )
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46998276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文