繁体   English   中英

使用 jsonbuilder 为 Groovy 中的 integer 类型元素修改 json

[英]modifying json with jsonbuilder for an integer type element in Groovy

有以下 JSON:

def jsonString = '{"studyDTO":{"studyId":191,"studyCode":"test_ispptest2"},"sites":[{"studyId":191,"siteRecid":16521,"siteId":"11001"}],"allSubjects":true,"states":null,"visits":[{"studyId":191,"visitSubmitName":"baseline","visitDisplayName":"Baseline","orderOfDisplay":10}],"modalities":null,"examDates":null,"series":null,"transferType":null,"sftpLocations":[],"dicomLocations":[],"fileSystemLocations":[],"rawFileSystemLocations":[],"customFolder":null,"folderStructure":null,"customFile":null,"fileStructure":null,"includePS":null}'

想要使用来自数据源的 integer 动态更新"orderOfDisplay":10的值。

def jsonConvert = new JsonSlurper();
def object = jsonConvert.parseText(jsonString);
def builder = new JsonBuilder(object)

builder.content.visits[0].orderOfDisplay = 23

[23 只是举例。 我运行了 10 次,每次预期值都会改变]

log.info(builder.toPrettyString());

类似于这里的帖子,但就我而言,我正在尝试更新 integer。

更新后我得到的错误是,

{
    "studyDTO": {
        "studyId": 191,
        "studyCode": "test_ispptest2"
    },
    "sites": [
        {
            "studyId": 191,
            "siteRecid": 16521,
            "siteId": "11001"
        }
    ],
    "allSubjects": true,
    "states": null,
    "visits": [
        {
            "studyId": 191,
            "visitSubmitName": "cycle_1",
            "visitDisplayName": "Cycle 1",
            "orderOfDisplay": "23"
        }
    ],
    "modalities": null,
    "examDates": null,
    "series": null,
    "transferType": null,
    "sftpLocations": [
    ],
    "dicomLocations": [
    ],
    "fileSystemLocations": [
    ],
    "rawFileSystemLocations": [
    ],
    "customFolder": null,
    "folderStructure": null,
    "customFile": null,
    "fileStructure": null,
    "includePS": null
}

值 23 用引号括起来

我无法使用 Groovy 3.0.11 随附的JMeter 5.5复制它,所以请仔细检查您的软件版本,也许您正遭受某种形式的ZACA268A40E82159E156B5B74C67

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM