问题:我正在读取JSON文件中称为'version'的属性并成功打印。现在,我试图对其进行修改,并修改文件,即使用groovy增加版本号。
我的文件非常简单:
{
"version":"1.0.0"
}
到目前为止,我尝试使用writeJSON函数来操纵版本号。
def pack = scope.readJSON file: "path/to/json/file.json"
String currVersion = "${pack.version}"
// The above code works...
// The code below does not
pack['version'] = "1.2.0"
scope.writeJSON file: "path/to/json/file.json", json: pack
期望通过的jenkins构建和要修改的json文件,但出现以下错误消息:
groovy.lang.MissingPropertyException:无此类属性:类的版本
您需要做的就是设置参数returnPojo:true。返回输出之前,它将输出转换成POJO类型(LinkedHashMap或ArrayList)。
默认情况下,参数设置为false并返回JSON对象(JSON-lib中的JSONObject或JSONArray)。
def pack = scope.readJSON file: "path/to/json/file.json", returnPojo: true