从json数组键获取值以@开头

时间:2019-02-13 06:29:22

标签: groovy jenkins-groovy groovyshell groovy-console

我正在尝试访问

的值
  

@ angular / core

JSON文件中的

看起来像波纹管

"dependencies": {
   "@angular/animations": "^6.1.0",
   "@angular/common": "^6.1.0",
   "@angular/compiler": "^6.1.0",
   "@angular/core": "^6.1.0",
   "@angular/forms": "^6.1.0",
   "@angular/http": "^6.1.0",
   "@angular/platform-browser": "^6.1.0",
   "@angular/platform-browser-dynamic": "^6.1.0",
   "@angular/router": "^6.1.0",
   "core-js": "^2.5.4",
   "rxjs": "~6.2.0",
   "zone.js": "~0.8.26"
},

我尝试过的代码是

    def packageString = readFile("app/package.json")  // read the json file
    def parsedPackageString =  new groovy.json.JsonSlurperClassic().parseText(packageString)

    echo "My Angular Project version $parsedPackageString.dependencies.@angular/core"

但是它正在打印所有依赖项的值

我的预期结果是

  

“ ^ 6.1.0”,

1 个答案:

答案 0 :(得分:0)

您只需为 parsedPackageString 指定属性:

def parsedPackageString =  new groovy.json.JsonSlurperClassic().parseText(packageString).dependencies.'@angular/core'