2015-12-22 3 views
2

J'ai écrit un scénario de test dans SOAP UI qui crée un utilisateur et retourne l'ID. C'est le JsonResponse. A travers un script Groovy, je dois extraire l'identifiant Comment utiliser JsonSlurper?

{ 
    "schemas":["urn:hid:scim:api:ma:1.0:UserInvitation"], 
    "urn:hid:scim:api:ma:1.0:UserInvitation": 
     [ 
      { 
       "meta":{ 
        "resourceType":"UserInvitation",             
        "lastModified":"2015-12-22T07:45:30Z", 
        "location":"https://test-ma.api.assaabloy.com/credential-management/customer/663/invitation/2643209" 
       }, 
       "invitationCode":"FBXO-SRWS-LKFI-ZKZI", 
       "status":"PENDING", 
       "createdDate":"2015-12-22T02:45:30Z", 
       "expirationDate":"2015-12-22T02:45:30Z", 
       "id":2643209 
      } 
     ] 
} 

Je suis très nouveau pour Groovy. S'il vous plait, j'ai besoin de votre aide avec ceci.

Répondre

3

Ce sera:

import groovy.json.JsonSlurper 

def json = """ 
{ 
    "schemas":["urn:hid:scim:api:ma:1.0:UserInvitation"], 
    "urn:hid:scim:api:ma:1.0:UserInvitation": 
     [ 
      { 
       "meta":{ 
        "resourceType":"UserInvitation",             
        "lastModified":"2015-12-22T07:45:30Z", 
        "location":"https://test-ma.api.assaabloy.com/credential-management/customer/663/invitation/2643209" 
       }, 
       "invitationCode":"FBXO-SRWS-LKFI-ZKZI", 
       "status":"PENDING", 
       "createdDate":"2015-12-22T02:45:30Z", 
       "expirationDate":"2015-12-22T02:45:30Z", 
       "id":2643209 
      } 
     ] 
}""" 
def slurped = new JsonSlurper().parseText(json) 
assert 2643209 == slurped."urn:hid:scim:api:ma:1.0:UserInvitation"[0].id 

déclaration new JsonSlurper().parseText(json) retourne et instance de carte. Donc, en utilisant cette carte, vous obtenez la liste avec cette déclaration: slurped."urn:hid:scim:api:ma:1.0:UserInvitation", puis le premier élément en utilisant l'opérateur getAt ([0]) et enfin avec id vous obtenez la valeur désirée.

+1

Merci beaucoup! Ça a marché – Ekta