En aquest tema, aprendrem com treballar amb XML i JSON en Groovy. Aquests formats de dades són àmpliament utilitzats per a l'intercanvi d'informació entre aplicacions. Groovy proporciona eines potents i senzilles per manipular aquests formats.
Continguts
Introducció a XML i JSON
XML (eXtensible Markup Language) i JSON (JavaScript Object Notation) són formats de dades utilitzats per a l'intercanvi d'informació. XML és més verbós i estructurat, mentre que JSON és més lleuger i fàcil de llegir per als humans.
Treballant amb XML
Parsejar XML
Groovy facilita la lectura i manipulació de documents XML mitjançant la classe XmlSlurper
.
def xmlContent = ''' <person> <name>John Doe</name> <age>30</age> <address> <street>Main Street</street> <city>Springfield</city> </address> </person> ''' def xml = new XmlSlurper().parseText(xmlContent) println "Name: ${xml.name.text()}" println "Age: ${xml.age.text()}" println "City: ${xml.address.city.text()}"
Explicació:
XmlSlurper
parseja el contingut XML.parseText
llegeix el contingut XML des d'una cadena.text()
extreu el text dels elements XML.
Crear XML
Groovy també permet crear documents XML fàcilment amb la classe MarkupBuilder
.
import groovy.xml.MarkupBuilder def writer = new StringWriter() def xml = new MarkupBuilder(writer) xml.person { name 'John Doe' age 30 address { street 'Main Street' city 'Springfield' } } println writer.toString()
Explicació:
MarkupBuilder
facilita la creació d'estructures XML.- Utilitzem closures per definir els elements i el seu contingut.
Treballant amb JSON
Parsejar JSON
Groovy proporciona la classe JsonSlurper
per parsejar JSON.
import groovy.json.JsonSlurper def jsonContent = ''' { "name": "John Doe", "age": 30, "address": { "street": "Main Street", "city": "Springfield" } } ''' def json = new JsonSlurper().parseText(jsonContent) println "Name: ${json.name}" println "Age: ${json.age}" println "City: ${json.address.city}"
Explicació:
JsonSlurper
parseja el contingut JSON.parseText
llegeix el contingut JSON des d'una cadena.
Crear JSON
Per crear JSON, utilitzem la classe JsonBuilder
.
import groovy.json.JsonBuilder def json = new JsonBuilder() json.person { name 'John Doe' age 30 address { street 'Main Street' city 'Springfield' } } println json.toPrettyString()
Explicació:
JsonBuilder
facilita la creació d'estructures JSON.- Utilitzem closures per definir els elements i el seu contingut.
Exercicis Pràctics
Exercici 1: Parsejar XML
Parseja el següent XML i imprimeix el nom i l'edat de la persona.
Solució:
def xmlContent = ''' <person> <name>Jane Doe</name> <age>25</age> </person> ''' def xml = new XmlSlurper().parseText(xmlContent) println "Name: ${xml.name.text()}" println "Age: ${xml.age.text()}"
Exercici 2: Crear JSON
Crea un JSON amb la següent estructura i imprimeix-lo:
Solució:
import groovy.json.JsonBuilder def json = new JsonBuilder() json.product { name 'Laptop' price 999.99 specs { cpu 'Intel i7' ram '16GB' } } println json.toPrettyString()
Conclusió
En aquesta secció, hem après com treballar amb XML i JSON en Groovy. Hem vist com parsejar i crear documents XML i JSON utilitzant les classes XmlSlurper
, MarkupBuilder
, JsonSlurper
i JsonBuilder
. Aquests coneixements són essencials per a l'intercanvi d'informació entre aplicacions i per a la manipulació de dades en formats estàndard.
Curs de Programació Groovy
Mòdul 1: Introducció a Groovy
Mòdul 2: Sintaxi i Característiques del Llenguatge Groovy
Mòdul 3: Programació Orientada a Objectes en Groovy
Mòdul 4: Característiques Avançades de Groovy
Mòdul 5: Groovy en la Pràctica
- Entrada/Sortida de Fitxers
- Treballant amb XML i JSON
- Accés a Bases de Dades
- Desenvolupament Web amb Groovy
Mòdul 6: Proves i Depuració
Mòdul 7: Ecosistema i Eines de Groovy
- Eina de Construcció Gradle
- Framework de Proves Spock
- Framework Grails
- Altres Llibreries i Eines de Groovy
Mòdul 8: Millors Pràctiques i Temes Avançats
- Estil de Codi i Convencions
- Optimització del Rendiment
- Consideracions de Seguretat
- Concurrència en Groovy