gpt4 book ai didi

Jenkinsfile 管道构造 JSON 对象并写入文件

转载 作者:行者123 更新时间:2023-12-04 14:02:28 27 4
gpt4 key购买 nike

我想构造一个 JSON 对象并将内容写入文件。

最初我的灵感来自 this并尝试:

def data = [
a:"test: ${myVar}"
]
writeJSON(file: 'message1.json', json: data)

但这失败了:

Could not instantiate {file=message1.json, json={a=test}} for WriteJSONStep(file: String, json: JSON{}, pretty?: int): java.lang.UnsupportedOperationException: must specify $class with an implementation of interface net.sf.json.JSON



所以接下来我尝试:
def data = readJSON text: '{}'
data.a = "test: ${myVar}"
writeJSON(file: 'message1.json', json: data, pretty: 4)

现在构建通过了,但文件的内容如下所示:
{
"a": {

"bytes": [

114,

101,

108,

101,

97,

115,

101

50

],

"strings": [

"test: ",

""

],

"valueCount": 1,

"values": ["v1.0.2"]

}
}

而我的意图是 {"a": "test: v1.0.2"}
我的最终目标是我想动态构造一个 JSON 对象,使用一些动态数据设置一些属性,然后编写 JSON 文件。

是否有一些语法可用于将值分配为字符串,而不是一些字节。

最佳答案

似乎对此的一种解决方案是更改添加到 map 的代码以指定 as String :

def data = readJSON text: '{}'
data.a = "test: ${myVar}" as String
writeJSON(file: 'message1.json', json: data, pretty: 4)

关于Jenkinsfile 管道构造 JSON 对象并写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com