You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter中嵌套JSON修正:dicomTags归属与数组值完整化问题

修正后的Groovy脚本及说明

核心修正点

  • 将dicomTags直接嵌套到dicomTemplate内部作为子键,解决单独放置的结构问题
  • 修正拼写错误(原dicomTaS改为dicomTags),确保所有标签项完整纳入dicomTags数组

完整修正代码

import groovy.json.JsonSlurper
import groovy.json.JsonBuilder

def response = new groovy.json.JsonSlurper().parse(prev.getResponseData())
def finalRequest = [:]

// 直接构建包含dicomTags的完整dicomTemplate
def dicomTemplate = new JsonBuilder().dicomTemplate {
    templateName "Default"
    templateDesc "Default"
    templateType "DEFAULT"
    // 嵌套dicomTags作为子键,包含所有标签项
    dicomTags([
        {
            tagGroup "0002"
            tagElement "0002"
            tagName "Media Storage SOP Class UID"
            updatedOn "2021-10-05T22:03:36.000+00:00"
            labelValue 131074
            mandatory "1"
        },
        {
            tagGroup "0002"
            tagElement "0010"
            tagName "Transfer Syntax UID"
            tagKeyword "TransferSyntaxUID"
            createdOn "2021-06-02T20:40:59.000+00:00"
            numericLabel "00020010"
            labelValue 131088
            mandatory "1"
        }
        // 可在此处继续添加更多需要的DICOM标签项
    ])
}.content

// 填充finalRequest的其他字段
finalRequest.studyDTO = true
finalRequest.allSites = true
finalRequest.allSubjects = true
finalRequest.allStates = true
finalRequest.allVisits = true
finalRequest.modalities = response.modalities
finalRequest.allModalities = true
finalRequest.allExamDates = true
finalRequest.allSeries = true
finalRequest.transferType = "DICOM"
finalRequest.sftpLocations = response.sftpLocations
finalRequest.dicomLocations = response.dicomLocations
finalRequest.customFolder = null
finalRequest.folderStructure = null
finalRequest.customFile = null
finalRequest.fileStructure = null
finalRequest.includePS = null
finalRequest.softEditOverride = true
// 将完整的dicomTemplate放入finalRequest
finalRequest.dicomTemplate = dicomTemplate

vars.put('finalPayload', new groovy.json.JsonBuilder(finalRequest).toPrettyString())

修正细节说明

  1. 结构嵌套修复:不再分开构建dicomTemplate和dicomTags,而是在dicomTemplate的闭包内直接定义dicomTags数组,确保它成为dicomTemplate的合法子键,符合预期的JSON层级结构。
  2. 拼写错误修正:原代码中dicomTaS是笔误,改为正确的dicomTags,避免生成错误的键名导致结构异常。
  3. 完整标签支持:dicomTags以数组形式承载所有标签对象,你可以在数组中继续追加更多DICOM标签项,确保所有需要的标签都被完整包含。

内容的提问来源于stack exchange,提问作者MAX GRIMM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 03:18:15