Groovy Unmarshalling JSON to a Specific Object
A code snippet to use Groovy's default map-based constructor to convert JSON strings to an object type.
Join the DZone community and get the full member experience.
Join For FreeIf you have a simple POJO (Plain Old Java Object) or POGO (Plain Old Groovy Object), you can use Groovy's default Map-based constructor to convert the JSON string to an Object type.
package com.example.groovy
import groovy.json.JsonBuilder
import groovy.json.JsonSlurper
import groovy.transform.ToString
/**
* Created by rhasija on 1/15/16.
*/
class JsonToObject {
public static void main(String[] args) {
// Person object
def person = new Person(firstName: "John", lastName: "Doe")
// Json String
def personJSON = new JsonBuilder(person).toPrettyString()
// Json String to Map
def personMap = new JsonSlurper().parseText(personJSON)
// using Map to convert to Person object type
def newPerson = new Person(personMap)
println(person)
println(newPerson)
assert newPerson.firstName.equals(person.firstName)
assert newPerson.lastName.equals(person.lastName)
}
}
@ToString
class Person {
String firstName
String lastName
}
Please let me know if you found this helpful. Thanks!
Published at DZone with permission of Ravi Isnab, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments