Xml And JSON Java

22
XML & JSON PARSERS IN JAVA Henry Addo E-mail: [email protected] Twitter: http://twitter.com/eyedol

description

How to manipulate XML and JSON document

Transcript of Xml And JSON Java

Page 1: Xml And JSON Java

XML & JSON PARSERS

IN JAVA

Henry AddoE-mail: [email protected]

Twitter: http://twitter.com/eyedol

Page 2: Xml And JSON Java

WHAT IS PARSING A XML / JSON DOCUMENT

Reading a xml / json document to determine its structure or extract its content.

Page 3: Xml And JSON Java

DIFFERENT WAYS OF PARSING XML

DOCUMENT

* DOM - Document Object Model - org.w3c.dom.** JDOM - Open source version of DOM - org.jdom.** SAX - Simple API for XML - org.xml.sax.** StAX - Streaming API for XML - java.xml.stream.*

Page 4: Xml And JSON Java

DOM* Document Object Model - An interface for working with the structure of an xml document.

* Developed by w3c to make life easier for the programmer.

Page 5: Xml And JSON Java

DOM TREE* XML is loaded in hierarchical data structure( the DOM tree ).

* Everything in a DOM tree is a Node of one type or another type.

* Element: Represent an XML element in the source document.

* Attr: Represents an attribute of an XML element.

* Text: The content of an element of an XML element.* Document: Represents the entire XML document.

Page 6: Xml And JSON Java

COMMON DOM METHODS* Document.getDocumentElement(); returns the root of the DOM tree

* Node.getFirstChild() & Node.getLastChild(); returns the first or last child of a given Node.

* Node.getNextSibling() & Node.getPreviousSibling(); returns the next or previous sibling of a given Node.

* Element.getAttribute( String attrName); returns the value of the attribute named attrName of a given Element.

Page 7: Xml And JSON Java

SAXSimple API for XML - Designed to address the issues with DOM.

* Memory hog * Excess objects * Build entire document tree for code to work

Page 8: Xml And JSON Java

HOW SAX WORKSSAX parsers tells you when it finds things in the XML document using events.

* It sends you events as it finds things in an XML document.

* It gives the option for creating objects as when needed. * It sends events right on the onset, doesn’t have to wait for the parser to finish reading the document.

Page 9: Xml And JSON Java

COMMON SAX EVENTSSAX API defines number of events. Write code to do things in response to those events.

* startDocument(); prompts that it has found the start of the document.* endDocument(); prompts that it has found the end of the document.* startElement(...); found a start tag-- name,values,attributes of the element.* characters(...); found some text. char array* endElement(..); found an end tag--name + assoc. name space

Page 10: Xml And JSON Java

CHOOSING XML PARSER

DOM * You Need to know a lot about the document structure * You Need to change the structure of the document SAX * You don’t have much machine memory * You only need a few elements or attributes from the XML document StAX * You need to do xml processing on mobile devices

Page 11: Xml And JSON Java

EXAMPLE PARSING XML WITH DOM

* Get a document builder using document builder factory and parse the xml file to create a DOM obj.

* Get a list of employee elements from the DOM.

* For each employee element get the id, name, age and type.

* Iterate through the list and print the employees details.

Page 12: Xml And JSON Java

EXAMPLE PARSING XML WITH DOM

Show some codes

Page 13: Xml And JSON Java

EXAMPLE PARSING XML WITH SAX

* Create a SAX parser and parse the xml.* In the event handler create the employee object.* Print out the data.

Page 14: Xml And JSON Java

EXAMPLE PARSING XML WITH SAX

Show some codes

Page 15: Xml And JSON Java

HOW TO GENERATE XML FROM JAVA

This time generate an xml file instead of reading it.* Load Data.* Get an instance of Document object using document builder factory.* Create root element Personnel.* For each item in the list create a Book element.* Serialize DOM to FileOutputStream to generate the xml file.

Page 16: Xml And JSON Java

HOW TO GENERATE XML FROM JAVA

Show some codes

Page 17: Xml And JSON Java

JSONJAVASCRIPT OBJECT

NOTATION

Is a language independent text format which is fast and easy to understand.

Its very easy to manipulate JSON document than say XML

Page 18: Xml And JSON Java

JSONPACKAGES FOR JAVA

org.json.* - http://www.json.org/java/index.html

Google-gson - http://code.google.com/p/google-gson/

Jackson Java JSON - Processor - http://jackson.codehaus.org/Jettison - http://jettison.codehaus.org/

Page 19: Xml And JSON Java

SAMPLE JSON DOCUMENT

Object {

String: value},array [ value ],

Syntax Sample{

“name”: “neem tree” “height”: “3”,

“benefits”: [ “medicine”, “wind break”, “shade” ]}

Page 20: Xml And JSON Java

EXAMPLE PARSING JSON DOCUMENT

Show some codes

Page 21: Xml And JSON Java

HOW TO GENERATE JSON DOCUMENT FROM

JAVA

Show some codes

Page 22: Xml And JSON Java

HOW TO GENERATE JSON DOCUMENT FROM

JAVA

Show some codes