Как извлечь значение подстроки из ответа Json в SOAPUI

#groovy #soapui

#groovy #soapui

Вопрос:

Я пытаюсь извлечь идентификатор запроса из сообщения, которое является строкой.

 {
   "version": "1.0.0-80",
   "status": 201,
   "error": "MSG004",
   "uuid": "aae1bb59-da3f-4118-a4a4-asdfsdfsd",
   "message": "Successfully created a request with an id of 1234",
   "path": "/api/request/",
   "timestamp": "2019-03-21T09:41:58.484"
}
  

Кто-нибудь может мне помочь с созданием свойства из сообщения, мне нужно только передать идентификатор запроса в конце этого предложения:

«Успешно создан запрос с идентификатором 1234»

Спасибо

Ответ №1:

Использование прямой подстроки должно сработать.

 def id = variableThatContainsTheString.substring(46)
  

Это, однако, некрасиво. Но это не то решение, которое вы тестируете.

Я бы сказал, что если идентификатор является чем-то, что должно использоваться потребителем веб-сервиса, то он действительно должен быть предоставлен в виде собственного ключевого значения. Не должно быть необходимости вырезать его из строки.

Затем ответ может быть примерно таким:

 { 
  "version": "1.0.0-80",
  "status": 201, 
  "error": "MSG004", 
  "uuid": "aae1bb59-da3f-4118-a4a4-asdfsdfsd", 
  "message": "Successfully created a request with an id of 1234", 
  "path": "/api/request/", 
  "timestamp": "2019-03-21T09:41:58.484",
  "id": "1234" 
}
  

Скажите разработчикам, чтобы они действовали сообща. 😉

Комментарии:

1. Я надеюсь, что этого ответа достаточно. Если вы уже зашли в тупик при извлечении пар имя-значение, я предлагаю вам взглянуть на JsonSlurper.

2. Спасибо, Стин, этот идентификатор не используется потребителем. я просто использую это для себя.