2014-09-02 19 views
0

我正在使用groovy腳本來解析值。我想保存來自1 API的響應,並且需要將該響應作爲其他API的請求傳遞。 例子:如何解析SoapUI中的複雜結構?

{"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":""}]} 

在這個例子中,我要保存的位置值,使代碼和需要通過爲請求下一個API。

+0

http://groovy.codehaus.org/gapi/groovy/json/JsonSlurper.html – 2014-09-02 10:21:08

回答

1

在這裏你去:

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 ' } 
+0

如何通過這個解析位置值到另一個API請求主體? – Shruthi 2014-09-09 10:27:01

+0

這是另一個問題。用SSCCE發佈。 – Opal 2014-09-09 10:47:07