Вы были большой помощью в прошлом, поэтому я надеюсь, что вы можете мне помочь. Так что в настоящее время я работаю над проектом на работе, используя soapui, чтобы вернуть гигантскую полезную нагрузку Json. Мне нужно создать некоторые утверждения, и некоторым из них нужно будет рассмотреть несколько узлов, которые имеют только одну общую черту. Это одна из первых частей одного из узлов.Есть ли метод подстроки для основных выражений JSON Path в SOAPUI?
Так что я ищу какую-то подстроку для JSONPath. Вот пример того, что я ищу.
"BurgerJoints": [
{
"JointName": "Bob's Burgers",
"Price": 5
},
{
"JointName": "Bob's Broiler Stand",
"Price": 5
},
{
"JointName": "Burger King",
"Price": 5
},
{
"JointName": "Bob's Beef Haven",
"Price": 5
},
{
"JointName": "Super Weenie Hut",
"Price": 5
}
]
В моем примере предположим, что я ищу все суставы, которые есть у Боба. Поэтому моя первоначальная мысль заключалась в том, чтобы сделать что-то вроде BurgerJoints [? (@. Substring (JointName, 0,3) == "Bob")] , чтобы дать мне узлы. Но похоже, что это не сработало. Может ли кто-нибудь сказать мне, где мой синтаксис поступил не так, или если нет способа сделать это таким образом, что лучше всего для достижения моей цели?
Спасибо, ребята!
EDIT:
Так что я попытался с помощью Groovyscript, чтобы сделать это, и я думаю, что я получил близко, но где-то списки не заселять. Вот код, который я использую
//imports
import groovy.json.JsonSlurper
//grab the response
def ResponseMessage = messageExchange.response.responseContent
//define a JsonSlurper
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
def jsonlist =[]
def i = 0
while (jsonSlurper.BurgerJoints[i] != null)
{
if(jsonSlurper.BurgerJoints[i].JointName.toString().substring(0,3)=="Bob")
{
jsonlist.add(jsonSlurper.BurgerJoints[i])
}
i++
}
def jsonlist2 = new JsonSlurper().parseText(jsonlist.toListString())
assert jsonlist2.size()==3
Все еще не работает, к сожалению.
показано ли ответ на вопрос полного или только часть его? Потому что в ответе не удалось найти 'jsonSlurper.PriceListItems', но groovy script имеет это в цикле' while'. – Rao
Я appologize, я изменил свой фактический используемый код, чтобы соответствовать ситуации, в которой я нахожусь. В основном я просто не использовал имена объектов или фактические данные из базы данных. Поэтому PriceListItems должен быть burgerjoints. Я изменил свой код, чтобы он теперь был прав. –