Groovy web console

subscribe to the feed Subscribe
to this
site

Replace inline

Published 2 months ago by MadaManu
Actions Execute script  ▶ Edit in console Back to console Show/hide line numbers View recent scripts
import groovy.json.JsonBuilder
import groovy.json.JsonSlurper

URL fileUrl = new URL("https://upcdn.io/W142hJk/raw/demo/4mh8dVuV3r.json")
def fileContent = new JsonSlurper().parseText(fileUrl.text)


for(e in fileContent["pEntity"]){
    def entry = e.value
    replaceValue("available_points", "map:achieved_level", entry)
}


def replaceValue(def replaceWho, def replaceWith, def entry) {
    if(replaceWith.startsWith("map:")){
        entry[replaceWho] = entry[replaceWith.replace("map:", "")]
    } else {
        entry[replaceWho] = replaceWith
    }
}

println new JsonBuilder(fileContent).toPrettyString()