目录
前言
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
}



