我有一个类似于以下请求的Json请求。
{"age": {
"description": "Age in years",
"type": "integer",
"minimum": "1"
},
"details":{
"name":"John",
"age":"30",
"cars":"BMW"
}}
在名称字段中,它应该只选择三个选定的名称(例如:John,Jim,James)。在年龄和汽车领域,它应该动态地改变价值。我在Java中尝试过我能做到的。我想在SoapUi做,任何人都可以帮我SoapUi
答案 0 :(得分:0)
如果要动态(或随机)生成JSON对象,可以尝试以下方法:
import groovy.json.JsonOutput
def names = ['John', 'Jim', 'James']
def cars = ['BMW', 'Toyota', 'Ford', 'Honda']
def ages = 18..50
def random = new Random()
def obj = [
name: names.get(random.nextInt(names.size())),
age: ages.get(random.nextInt(ages.size())),
car: cars.get(random.nextInt(cars.size()))
]
def json = new JsonOutput().toJson(obj)
这里发生的是我们定义名称,汽车和年龄的列表,然后我们随机选择每个列表中的一个元素并构建最终对象。最后,我们使用JsonOutput.toJson()
方法将对象(在这种情况下为Map<String,Object>
类型)编组为String
。
运行此脚本几次并打印json
变量将产生类似于此的输出:
{"name":"John","age":40,"car":"Toyota"}
{"name":"James","age":28,"car":"Honda"}
{"name":"James","age":26,"car":"Ford"}
{"name":"Jim","age":32,"car":"Honda"}
当然,这只是一个显示一般用例的示例。我无法创建您期望的最终JSON,因为您发布的示例不是有效的JSON对象。我想您可以将此示例应用于您的特定用例,并构建一个满足您所有期望的最终JSON。