Я пытаюсь создать JSON, используя Groovy JSON builder.
Код, используемый в качестве сценария в JSR223, выглядит следующим образом:
Используемый код:
**def previousResponse = new groovy.json.JsonSlurper().parse(ctx.getPreviousResult().getResponseData())
@groovy.transform.Immutable
class Package {
String ReferenceId
String Name
String Version
Integer Size
}
def packages = previousResponse.Packages.collect { Package -> new Package(Package.ReferenceId, Package.Name, Package.LastVersion.Version, Package.LastVersion.Size) }
def builder = new groovy.json.JsonBuilder()
builder(HasDraftVersion: false,
IsApprovalPending: null,
IsInstalledSilently: true,
LastModified: "/Date(1535570626907)/",
LastModifiedBy: "Administrator",
DeviceConfigurations: [],
Packages: packages.collect(),
LdapTargets: null,
ReferenceId: null,
DeviceFamily: 6,
DeviceFamilyQualification: 0,
Name: "test",
Description: "",
Random: "2018-08-29T15:16:47",
IsPublicAPI: true)
sampler.getArguments().removeAllArguments()
sampler.addNonEncodedArgument('',builder.toString(),'')
sampler.setPostBodyRaw(true);
The result I am getting from the above code is correct and is in the format:
{ "HasDraftVersion" ложь "IsApprovalPending": нулевой, "IsInstalledSilently": правда, "LastModified": "/ Date (1535661532840) /", "LastModifiedBy": "Администратор", "DeviceConfigurations": [], "Пакеты": [{ "идентификаторСсылка": "282812e7-c3e6-4ecb-8267-bbe2c250ad59", "версия": "1,0", "размер": 10465294, "имя": "10MB", "packageDependencies" : ""}, { "идентификаторСсылки": "02f5b531-8e37-42c1-bfcb-ec8db0920bed", "вариант": "1.0", "размер": 104884390, "название": "100MB", "packageDependencies": "" }], "LdapTargets": нулевой, "идентификаторСсылки": нулевой, "DeviceFamily": 6, "DeviceFamilyQualification": 0, "Имя": "работа", "Описание": "", "Random": "2018-08 -30T04: 38: 52" , "IsPublicAPI": истинный}
Проблема, с которой я сталкиваюсь, связана с последовательностью меток и такими значениями, как последовательность для тега Packages:
ReferenceID, Имя, Версия ПакетЗависимости
Ошибка, которую я получаю при передаче следующего HTTP-запроса:
{"Данные": null, "ErrorCode": 0, "ErrorMessage": "Параметр 'ReferenceId' имеет недопустимое значение ''.", "HelpLink": null, "InnerErrors": [{"Data ": [" ReferenceId "," "]," ErrorCode ": 2," ErrorMessage ":" Параметр 'ReferenceId' имеет недопустимое значение ''. "," HelpLink ": null," InnerErrors ": null," Ref ": "2018-08-30 16: 38: 52.9245-04: 00"}], "Ссылка": "2018-08-30 16: 38: 52.9245-04: 00"}
Идентификатор ReferenceId передается, и результат для него тот же.