2011-06-03 95 views
0

值考虑,这是样品要求..如何提取JSON请求

现在我要发布这个..一旦细节加我要检查正确的细节只有在DB增加。我已经从DB中提取了值。

我知道如何从响应中提取值...任何人都可以帮助我从JSON请求获取值...就像我需要提取名字,姓氏等,任何一个都可以帮助我在这?

请求:

POST /MMNRS/1/consumer HTTP/1.1 
Host: http://subdomain.example.com 
Device-ID: 2b6f0cc904d137be2e1730235f5664094b831186 
Client-Type: IPHONE 
Client-Version: 1.0 
User-Agent: Tap/1.0 (iPhone; U; iOS 4.1; en_gb) 
Accept: application/json 
X-Request-ID: 10002 
{ 
    “consumerDetails”: 
     { 
      “title”:”Mr”, 
      “firstName”:”John”, 
      “lastName”: “Doe”, 
      “dateOfBirth”:”12/05/1956”, 
      “email”:”[email protected]”, 
      “encryptedPassword”:”XXXXYYYYZZZZ”, 
      “acceptedTermsAndConditionsFlag”:true, 
      “acceptedPromotionsAndOffersFlag” : true 
      “versionNumber”: 0 
     } 
    “twk”: “XXYYZZVVSS” 
    “passwordLength”: 7 
    “encryptedConfirmPassword”:”XXXXYYYYZZZZ”, 
    “confirmPasswordLength”: 7 
    “confirmEmail”:”[email protected]”, 
    “securityQuestionAnswers” : 
     [ 
      { 
       “securityQuestionId” : 1001, 
       “securityAnswer” : “Rufus the Dog” 
       “versionNumber”: 0 
      }, 
      { 
       “securityQuestionId” : 1002, 
       “securityAnswer” : “Beethovan” 
       “versionNumber”: 0 
      } 
     ], 
} 
+0

没有指定哪一种语言你使用。 – silex 2011-06-03 07:47:43

+0

我正在使用groovy脚本 – user611315 2011-06-03 11:08:51

+1

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context); def holder = testRunner.testCase.testSteps [“PersonalDetails”]。testRequest.requestContent 以上两行提取完整请求。 现在我需要提取姓只有..这是行不通的.. 高清p_url = holder.getNodeValue(“// NS1:consumerDetails/NS1:名字:); 任何帮助 – user611315 2011-06-03 12:22:07

回答

0

的Groovy(1.8)的最新版本带有一个内置JSON解析器/构造

This link should help you

+0

它似乎是我们可以打印那些..我需要提取并分配给一个变量.. – user611315 2011-06-04 15:21:19

+0

@ user611315所以你只要将它们分配给变量... 如果看看你想要的例子知道首都 'def capital = states.state [0] .capital' – stan229 2011-06-04 16:26:35

+0

请考虑我要提取我的请求的标题。是否正确? 进口roovy.json.JsonBuilder 进口groovy.json.JsonOutput DEF JSON =新JsonBuilder() DEF标题= consumerdetails.consumerdetails [0] .title伪 log.info(标题) – user611315 2011-06-05 18:09:18