java - 如何解析SoapUI中的复杂结构?

标签 java groovy soapui

我正在使用 groovy 脚本来解析该值。我想保存 1 个 API 的响应,并需要将该响应作为其他 API 的请求传递。 示例:

{"LoginResult":{"AccessToken":"abc…","SessionToken":"abcd…."},"SessionID":null,"UserDetails":{"FirstName":"","LastName":"","SalesPersonCode":"","SalesPersonDiscount":0.0,"IsServiceAdvisor":true,"EmployeeNo":""},"Companies":[{"Name":" Test ","Locations":[{"Code":"L12","Name":"Branch "}],"Makes":[{"Code":"","Name":""}],"Roles":[{"Name":""}],"Address":"","Address2":"No. 88 Century Avenue","BankAcctNo":"","BankBranchNo":"","BankName":"","City":"","Email":"","FaxNo":"","IBAN":"","PhoneNo":"","PostCode":"","SwiftBIC":"","VatRegNo":"","Web":"","DisplayName":"","DisplayName2":""}]}

在此示例中,我想要保存位置值和 Make 代码,并需要作为下一个 API 的请求传递。

最佳答案

给你:

import groovy.json.*

def t = """{"LoginResult":{"AccessToken":"abc…","SessionToken":"abcd…."},"SessionID":null,"UserDetails":{"FirstName":"","LastName":"","SalesPersonCode":"","SalesPersonDiscount":0.0,"IsServiceAdvisor":true,"EmployeeNo":""},"Companies":[{"Name":" Test ","Locations":[{"Code":"L12","Name":"Branch "}],"Makes":[{"Code":"","Name":""}],"Roles":[{"Name":""}],"Address":"","Address2":"No. 88 Century Avenue","BankAcctNo":"","BankBranchNo":"","BankName":"","City":"","Email":"","FaxNo":"","IBAN":"","PhoneNo":"","PostCode":"","SwiftBIC":"","VatRegNo":"","Web":"","DisplayName":"","DisplayName2":""}]}
"""
def j = new JsonSlurper().parseText(t)
j.Companies.Locations.flatten().each { println it}
assert j.Companies.Locations.flatten().find { it.Code=='L12' && it.Name=='Branch ' }

关于java - 如何解析SoapUI中的复杂结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620066/

相关文章:

java - Kotlin 注释不在 fieldDecleration 或编译的 java 中

java - 从 Java/Kotlin 中启动的进程中获取 InputStream

groovy - 使用 'it'进行Groovy嵌套闭包

groovy - 是否可以使用 Groovy XMLSlurper 解析子树

java - 删除后无法插入相同的对象

java - 比较映射忽略给定字段

java - 使用 Java 9+ 模块设置在 CLI 中运行 Groovy

groovy - 将 Groovy 脚本结果写入文件

groovy - 如何使用 Groovy 测试步骤在soapUI 中设置Cookie?

api - 如何从响应中提取 token 并将其传递给 SOAPUI 中的下一个 api 请求