2017-04-26 4 views
0

J'ai un problème avec mon script SoapUI Groovy. Je suit JSON (simplifié):Groovy - JSONSlurper analyse json

{ 
"data":{ 
    "XXX":[...] 
    "YYY":[...] 

}, 
"next":"ffawef234fava23r" 
} 

J'ai des valeurs de XXX et YYY dans mon TestStep précédemment en tant que paramètres de demande et j'extraire correctement comme liste de chaînes, mais mon problème est que je dois extraire le contenu de data.XXX et data.YYY, mais quand je veux le faire en boucle, je reçois toujours une valeur nulle. Mon code:

def content = new JsonSlurper().parseText(response) 
def ids = extracted_ids.split(';')  //List of IDs in response above {XXX,YYY} 
for (id in ids){ 
        log.info id // XXX 
        log.info content.data.'XXX' //this works 
        log.info content.data.id  //this not 
} 

Y at-il possibilité de passer ce "id" en boucle à content.data. {id} pour obtenir tout contenu au lieu de null

Cordialement

+0

Pourriez-vous montrer la structure complète de JSON et mentionner des données spécifiques qui doit être extrait? – Rao

+0

J'ai simplifié la sortie pour une meilleure lecture. En fait, j'ai juste besoin de vérifier Si data.XXX et data.YYY est nul ou pas – jadupl

+0

Vous n'avez pas besoin de vous mettre des données exactes si cela est sensible. Il suffit de mettre la structure en remplaçant les clés factices et la valeur. Parce que, la solution peut varier en fonction des données. J'espère que tu as compris. – Rao

Répondre

1

Vous avez juste besoin de faire

log.info content.data."$id" 
+0

Merci beaucoup, cela fonctionne. – jadupl