Forum Discussion

aaronpliu's avatar
aaronpliu
Frequent Contributor
6 years ago

Convert a flat JSON object to x-www-form-urlencoded

As captioned:

 

def jsonData = '''
{
	"name":"John",
	"age":30,
	"city":"New York"	
}
'''
def slurper = new groovy.json.JsonSlurper().parseText(jsonData)
def str = new StringBuilder()
def iter = slurper.keySet().iterator()
while(iter.hasNext()){
	def key = iter.next().toString()
	def value = slurper.get(key).toString().trim().replaceAll(" ","20%")
	str.append("$key=$value&")
}
log.info str[0..str.size()-2]

1 Reply

  • Olga_T's avatar
    Olga_T
    SmartBear Alumni (Retired)

    Great solution, aaronpliu!

     

    For convenience, let me quote the initial task for the community members:

     

    "Convert a flat JSON object to x-www-form-urlencoded

    Create a Groovy script, which transforms a non-nested JSON object to the x-www-form-urlencoded format before sending it in the request body.

    Example: converting this object

    {
      "name": "John",
      "age": 30,
      "city": "New York"
    }

    should result in the name=John&age=30&city=New%20York string."

     

    You have a good chance to win in the API Summer event this week, just keep creating new topics. You can also get extra points to your score if you reply to the featured topics listed here.

     

    Thank you for sharing!