0% found this document useful (0 votes)
52 views

JSON Vs XML

The document compares the data formats JSON and XML. It discusses their definitions, structures, examples, processing methods, advantages, disadvantages, and criteria for comparison such as human readability, data creation, extensibility, speed, fetching data from servers, security, and other considerations. It concludes that for data-oriented applications, JSON is preferable to XML due to its simplicity and ease of processing on the client side, though XML may be better suited for the server side.

Uploaded by

michael98
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

JSON Vs XML

The document compares the data formats JSON and XML. It discusses their definitions, structures, examples, processing methods, advantages, disadvantages, and criteria for comparison such as human readability, data creation, extensibility, speed, fetching data from servers, security, and other considerations. It concludes that for data-oriented applications, JSON is preferable to XML due to its simplicity and ease of processing on the client side, though XML may be better suited for the server side.

Uploaded by

michael98
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Gofur Halmruatov

Elena Myazina

20.5.2009
 Introduction XML and JSON
 Comparing JSON vs. XML
 Conclusion and references

20.5.2009
XML
 XML stands for EXtensible Markup Language
 XML is a markup language much like HTML
 XML was designed to carry data, not to display data
 XML tags are not predefined. You must define your
own tags
 XML is designed to be self-descriptive

20.5.2009
XML: Example

20.5.2009
XML: Well-formed
 XML documents must have a root element
 XML elements must have a closing tag
 XML tags are case sensitive
 XML elements must be properly nested
 XML attribute values must always be quoted

20.5.2009
XML: Validity
 Valid XML is An XML document that has an
associated document type declaration and complies
with the constraints expressed in it.
 Document Type Definition (DTD)
 XML Schema
 Relax NG
 ISO DSDL

20.5.2009
XML: Processing files
 Programming languages and SAX API
 Programming Languages and DOM API
 And Others

20.5.2009
XML: Transformation engines and filters
 XSL-FO is a declarative, XML-based page layout language.
An XSL-FO processor can be used to convert an XSL-FO
document into another non-XML format, such as PDF.
 XSLT is a declarative, XML-based document
transformation language. An XSLT processor can use an
XSLT stylesheet as a guide for the conversion of the data
tree represented by one XML document into another tree
that can then be serialized as XML, HTML, plain text, or
any other format supported by the processor.

20.5.2009
XML: Transformation engines and filters
 XQuery is a W3C language for querying, constructing
and transforming XML data.
 XPath is a DOM-like node tree data model and path
expression language for selecting data within XML
documents. XSL-FO, XSLT and XQuery all make use
of XPath. XPath also includes a useful function
library.
 Xlink - is an XML markup language used for
creating hyperlinks in XML documents

20.5.2009
XML: Advantages
 XML provides a basic syntax that can be used to share information between
different kinds of computers, different applications, and different organizations.
 With XML, your data can be available to all kinds of "reading machines" (Handheld
computers, voice machines, news feeds, etc)
 XML provides a gateway for communication between applications, even
applications on wildly different systems. As long as applications can share data
(through HTTP, file sharing, or another mechanism)
 It supports Unicode, allowing almost any information in any written human
language to be communicated.
 It can represent common computer science data structures: records, lists and trees.
 Its self-documenting format describes structure and field names as well as specific
values.
 It is based on international standards.

20.5.2009
XML: DisAdvantages
 It is difficult for the end-user to understand its capabilities.
 XML syntax is redundant or large relative to binary representations of similar data,
especially with tabular data.
 The redundancy may affect application efficiency through higher storage,
transmission and processing costs.
 XML syntax is verbose, especially for human readers, relative to other alternative
'text-based' data transmission formats.
 The hierarchical model for representation is limited in comparison to an object
oriented graph.
 Expressing overlapping (non-hierarchical) node relationships requires extra effort.
 XML namespaces are problematic to use and namespace support can be difficult to
correctly implement in an XML parser.

20.5.2009
JSON
 JSON (JavaScript Object Notation) is a lightweight
data-interchange format
 JSON code is valid JavaScript
 JSON is a text format that is completely language
independent
 JSON is built on two structures:
 A collection of name/value pairs
 An ordered list of values
 JSON file extension: *.json

20.5.2009
JSON: Object, Array, Number

20.5.2009
JSON: String, Value

20.5.2009
JSON: Example

20.5.2009
JSON: in JavaScript
 JSON is a subset of the object literal notation of JavaScript
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
] };

 Members can be retrieved using dot or subscript operators.


myJSONObject.bindings[0].method

 To convert a JSON text into an object, you can use the eval() function. eval()
invokes the JavaScript compiler
var myObject = eval('(' + myJSONtext + ')');

 In browsers that provide native JSON support, JSON parsers are also much
faster than eval
var myObject = JSON.parse(myJSONtext, reviver);

20.5.2009
JSONRequest
 JSONRequest is proposed as a new browser service that allows for two-way data
exchange with any JSON data server without exposing users or organization to
harm.
 It exchanges data between scripts on pages with JSON servers in the web.
 It is hoped that browser makers will build this feature into their products in order
to enable the next advance in web application development.
 JSONRequest is a global JavaScript object. It provides three methods: post, get, and
cancel.
 JSONRequest does not send or receive cookies or passwords in HTTP headers
 JSONRequest works only with JSON text
 Reponses will be rejected unless they contain a JSONRequest content type

20.5.2009
JSON: in AJAX

20.5.2009
Comparing Criteria: Human readability
XML JSON

Both formats Human readability are almost in same degree

20.5.2009
Comparing Criteria: Data Creation
 XML: JAXB or XmlBeans

 JSON: Json-lib (http://json-lib.sourceforge.net)

20.5.2009
Comparing Criteria: Extensibility
 XML

 JSON

20.5.2009
Comparing Criteria: Speed

 Each format has its advantages and disadvantages


 JSON is smaller than XML
 JSON is part of JavaScript code, It needs less time to parse
data thank the time for XML
 JSON is faster than XML in AJAX

20.5.2009
Comparing Criteria: Fetching data from Server

 XML uses XMLHttpRequest to fetch data from Server


 JSON can fetch data from Server with and without
XMLHttpRequest in AJAX, it also uses JSONRequest
 Speed fetching data is almost same, but speed parsing
fetched data is different

20.5.2009
Comparing Criteria: Security

 JavaScript eval() function does not check json code


before running it, this is place for code injection
attack

 Solution

20.5.2009
Comparing Criteria: Others

 JSON is thinner than Xml


 JSON is native to the client(most browsers support
IE8,Firefox and others)
 JSON can do cross domain calls that XMLHttpRequest can
not
 It is easier to encode / escape in JSON than XML

20.5.2009
Conclusion
What to use depends on the applications and your requirements. For data-
oriented applications, I prefer JSON to XML due to its simplicity and
ease of processing on the client side. XML may be great on the server side, but
JSON is definitely easier to deal with on the client side.

20.5.2009
References
 http://www.json.org/
 http://www.w3schools.com/XML/
 http://www.w3.org/XML/
 http://wikipedia.org/JSON
 http://wikipedia.org/XML
 http://www.subbu.org/blog/2006/08/json-vs-xml

20.5.2009

You might also like