栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法

目录

前言

readJson

writeJson


前言

本篇学习对json读取和写入两个方法readJson和writeJson

readJson

  参数

file:读取 JSON 数据的文件的路径text :包含 JSON 格式数据的字符串

  使用

新建test.json文件,内容如下

{
  "name":"大海",
  "age":28,
  "city":"北京",
  "professional": "测试工程师"
}

新建readJson.groovy文件,内容如下

// 入参是文件路径
def read_json_file(file_path) {
    def propMap = readJSON file: file_path
    propMap.each {
        println(it.key + " = " + it.value)
    }
}

// 入参是json格式的字符串
def read_json_file2(json_string) {
    def propMap = readJSON text: json_string
    propMap.each {
        println(it.key + " = " + it.value)
    }
}
// 要记得写,不写会报错
return this

新建Jenkinsfile文件,内容如下

println env.JOB_NAME
println env.BUILD_NUMBER

pipeline{

	agent any
	stages{
		stage("init") {
			steps{
				script{
				    println 'init'
				    // load 加载外部文件
					model_test = load env.WORKSPACE + "/module/readJson.groovy"
					println model_test
				}
			}
		}
		stage("Parse json") {
			steps{
				script{
					// 文件路径
					json_file = env.WORKSPACE + "/test_data/test.json"
                    println json_file
					model_test.read_json_file(json_file)
					println "================================"
					// json格式字符串  中文会乱码,还是单独写文件中使用较好
					json_string = '{"name":"大海","age":28,"city":"北京","professional":"测试工程师"}'
					model_test.read_json_file2(json_string)
				}
			}
		}
	}
}

文件结构如下,提交到gitlab后,新建一个job(看前面文章,这里略)测试下吧

测试结果,成功输出josn内容

writeJson

   参数

json: 要写入的对象。可以是JSON实例或 Map/List file :工作区中要写入的文件的可选路径pretty :使用添加到每个缩进级别的空格数来美化输出returnText :将 JSON 作为字符串返回,而不是将其写入文件。默认为false

   使用

在上面的src路径下,新建Jenkinsfile2,内容如下

println env.JOB_NAME
println env.BUILD_NUMBER

pipeline{

	agent any
	stages{
		stage("write json") {
			steps{
				script{
					json_file = env.WORKSPACE + "/test_data/test_json.json"
					to_json_file = env.WORKSPACE + "/test_data/new_json.json"
					// 调用方法
					write_json_to_file(json_file,to_json_file)
				}
			}
		}
	}
}

// 写入文件
def write_json_to_file(input_json, to_file_path) {
	def input = ''
	if(input_json.toString().endsWith(".json")) {
	    println input_json
	    // 读取json文件
		input = readJSON file : input_json
	}
	// 写入文件
	writeJSON file: to_file_path, json: input,pretty: 4
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711642.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号