简体   繁体   中英

How to parse .json file with a gradle task and get the json data from it?

Is there a way where in I can parse a xyz.json file with help of a gradle task and get all the individual json data inside it? for eg. I want to parse this data which is stored in a xyz.json file in my assets folder and get all the values inside it, eg. get the value of "type".

{
  "type":"xyz",
  "properties": {
    "foo": {
      "type": "pqr"
    },
    "bar": {
      "type": "abc"
    },
    "baz": {
      "type": "lmo"
    }
  }
}

You can create a gradle task like this

gradle myTask{
 doLast{
  def inputFile = new File("xyz.json")
  def json = new JsonSlurper().parseText(inputFile.text)
  def labels = json.properties.foo.type //This will return "pqr"
 }
}

If you want to parse a json file in build.gradle.kts do as follows:

import groovy.json.JsonSlurper
val VersionsMap: Map<String, String> by extra {
    JsonSlurper().parse(file("xyz.json")) as Map<String, String>
}
val value = VersionMap.get("key")

Gradle build scripts are just Groovy scripts. Read the Gradle User Guide to learn how to write custom tasks, and use the JsonSlurper class to parse your json file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM