我正在努力使用 Groovy Builder 构建 JSON 有效负载。
预期的 JSON 负载
{
"subscriptions": [
{
"subscriptionsId": "1243232",
"subscriptionName": "Employee",
"subscribedCountries": [
{
"id": "901f5e1d-1139-49f1-a91e-6324232151bf",
"name": "${countryName}",
"countryId": "${countryId}"
}
]
}
]
}
在一个 JSON 变量 json2 中,我使用检索到的值 ${countryName} 、${countryId} 构建 JSON 数组 subscribedCountries。
然后将上面的 Json 数组插入到我的实际 json 负载中json1 .
问题 - 我无法将 json 数组插入到我的实际 json 负载中
请看下面的代码
import groovy.json.JsonBuilder;
def builder = new JsonBuilder();
def json2=builder {}
json2.put('subscribedCountries',[]);
for(int i=2;i<=20;i++){
json2.subscribedCountries.add([
currencyId:vars.get('currencyId_'+i),
countryId:vars.get('countryId_'+i),
status:'Active'
])
}
def json1=builder {}
json1.subscriptions.add([
'subscriptionsId':'1243232',
'subscriptionName':'Employee',
***json2*** // Getting error here . Not sure how to implement
])
您需要先将
json2
转换为 Map 或 ArrayList,例如:
def json = new groovy.json.JsonSlurper().parseText(json2.toString())
然后你就可以在 JsonBuilder 类中使用这个
json
。
更多信息: