Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Groovy Unmarshalling JSON to a Specific Object

DZone's Guide to

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.

· Big Data Zone
Free Resource

Access NoSQL and Big Data through SQL using standard drivers (ODBC, JDBC, ADO.NET). Free Download 

If 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!

The fastest databases need the fastest drivers - learn how you can leverage CData Drivers for high performance NoSQL & Big Data Access.

Topics:
big data ,json ,string ,java ,groovy

Published at DZone with permission of Ravi Hasija, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}