Groovy Builder - 插入 JSONArray 时无法构造有效负载

问题描述 投票:0回答:1

我正在努力使用 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 
])
java groovy grails jmeter
1个回答
0
投票

您需要先将

json2
转换为 Map 或 ArrayList,例如:

def json = new groovy.json.JsonSlurper().parseText(json2.toString())

然后你就可以在 JsonBuilder 类中使用这个

json

更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.