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

Jenkins流水线:如何解析多行字符串参数中的JSON内容?

问题描述

在Jenkins流水线中,将JSON格式字符串传入多行字符串参数后,无法通过JsonSlurper解析名为test的参数。原代码示例如下:

def jsonSlurper = new JsonSlurper();
def infra = jsonSlurper.parse($test) ;

需要解决两个问题:

  • 如何在Groovy中正确解析该参数
  • 是否支持解析多行字符串参数中的JSON内容

解决方案

1. 修正参数引用与解析方法

Jenkins流水线的参数存储在params对象中,不能直接用$test引用;同时JsonSlurper的parse()方法主要用于处理流/文件,解析字符串应该用parseText()方法。正确代码如下:

import groovy.json.JsonSlurper

def jsonSlurper = new JsonSlurper()
// 引用流水线参数并解析JSON字符串
def infra = jsonSlurper.parseText(params.test)

2. 关于多行字符串参数的JSON解析

完全可以解析多行字符串参数中的JSON内容,只要传入的JSON格式合法(比如引号配对、逗号正确、结构完整),换行符不会影响JsonSlurper的解析。

额外注意事项

  • 如果是声明式流水线,需要将解析代码放在script块内执行
  • 确保传入的JSON字符串没有多余的空格或语法错误,否则会抛出解析异常

内容的提问来源于stack exchange,提问作者Anuj Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:30:57