Я пытаюсь создать JSON с помощью построителя Groovy JSON. Используемый код представляет собой сценарий в 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": false, "IsApprovalPending": null, "IsInstalledSilently": true, "LastModified": "/ Date (1535661532840) /", "LastModifiedBy": "Администратор", "DeviceConfigurations": [], «Пакеты»: [{«referenceId»: «282812e7-c3e6-4ecb-8267-bbe2c250ad59», «version»: «1.0», «size»: 10465294, «name»: «10MB», «packageDependencies»: «» }, {"referenceId": "02f5b531-8e37-42c1-bfcb-ec8db0920bed", "version": "1.0", "size": 104884390, "name": "100MB", "packageDependencies": ""}], «LdapTargets»: null, «ReferenceId»: null, «DeviceFamily»: 6, «DeviceFamilyQualification»: 0, «Name»: «work», «Description»: «», «Random»: «2018-08-30T04: 38:52 "," IsPublicAPI ": true}
Проблема, с которой я столкнулся, связана с последовательностью меток и значений, таких как последовательность для тега Packages, которая должна была быть:
ReferenceID, имя, версия PackageDependencies
Когда я передаю то же самое в следующий HTTP-запрос, я получаю следующее:
{"Data": 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 передается, и результат есть для того же.