SlideShare a Scribd company logo
1 of 14
JSON
JavaScript Object Notation
By: Ibrahim Alibrahim (ibrah.ibra@gmail.com)
23 May 2015
5/23/2015 1
Outlines
 Introduction
 Example
 Some History
 Specification
 JSON vs. XML
 Conclusion
5/23/2015 2
JSON - Introduction
JSON is a light-weight alternative to XML for data-interchange
JSON = JavaScript Object Notation
◦ It’s really language independent
◦ most programming languages can easily read it and instantiate objects or some other data structure
Defined in RFC 4627
Started gaining tracking ~2006 and now widely used
http://json.org/ has more information
5/23/2015 3
Example
This is a JSON object with five key-value pairs
Objects are wrapped by curly braces
There are no object IDs
Keys are strings
Values are numbers, strings, objects or arrays
Arrays are wrapped by square brackets
{
"firstName": "John",
"lastName" : "Smith", "age" : 25,
"address" :
{
"streetAdr” : "21 2nd Street", "city" : "New York",
"state" : "NY", ”zip" : "10021“
},
"phoneNumber":
[
{"type" : "home", "number": "212 555-1234"},
{"type" : "fax", "number” : "646 555-4567"}
]
}
5/23/2015 4
Some History
1999:
ECMA-262
2002:
json.org
2006:
RFC-4627
2006:
AJAX
2013:
ECMA-404
2014:
RFC-7159
5/23/2015 5
 JSON has no version number.
 JSON is stable.
JSON Specification (BNF) - 1
5/23/2015 6
JSON Specification (BNF) - 2
5/23/2015 7
JSON Specification (BNF) - 3
5/23/2015 8
JSON Specification (BNF) - 4
5/23/2015 9
JSON vs. XML (Data Exchange Formats)
Criteria JSON XML
AJAX
The X in AJAX
JavaScript baby Needs more libraries
Namespaces No Yes
Input validation No Yes
Transmission time less more
Verbosity less more
Web services
REST SOAP
REST is more popular in
non-critical applications
SOAP is more reliable is business
applications
5/23/2015 10
JSON vs. XML (Case Study)
5/23/2015
 Comparison of JSON and XML Data Interchange Formats: A Case Study - Montana State
University – Bozeman
 Scenario 1: 1 million objects.
 Scenario 2: 5 samples (20000, 40000, 60000, 80000, 100000) objects with statistical analysis.
11
JSON vs. XML (Case Study)
5/23/2015 12
Conclusion
 JSON is a light weight text format for data exchange.
 Simple BNF: objects, arrays, values (strings, numbers, null).
 JSON is much faster than XML in AJAX applications.
 REST + AJAX are the boosters of JSON.
 ADE should include JSON not only XML.
5/23/2015 13
5/23/2015 14
Thank you

More Related Content

What's hot (20)

Json
JsonJson
Json
 
Json Tutorial
Json TutorialJson Tutorial
Json Tutorial
 
Java Script Object Notation (JSON)
Java Script Object Notation (JSON)Java Script Object Notation (JSON)
Java Script Object Notation (JSON)
 
JSON - Quick Overview
JSON - Quick OverviewJSON - Quick Overview
JSON - Quick Overview
 
java script json
java script jsonjava script json
java script json
 
Json
JsonJson
Json
 
Intro to JSON
Intro to JSONIntro to JSON
Intro to JSON
 
Json
JsonJson
Json
 
JSON - JavaScript Object Notation
JSON - JavaScript Object NotationJSON - JavaScript Object Notation
JSON - JavaScript Object Notation
 
Xml dom & sax by bhavsingh maloth
Xml dom & sax by bhavsingh malothXml dom & sax by bhavsingh maloth
Xml dom & sax by bhavsingh maloth
 
Java script and json
Java script and jsonJava script and json
Java script and json
 
Java script
Java scriptJava script
Java script
 
JSON
JSONJSON
JSON
 
XML Document Object Model (DOM)
XML Document Object Model (DOM)XML Document Object Model (DOM)
XML Document Object Model (DOM)
 
Devoxx - JSON Validation using JSON Schema and Jackson
Devoxx - JSON Validation using JSON Schema and JacksonDevoxx - JSON Validation using JSON Schema and Jackson
Devoxx - JSON Validation using JSON Schema and Jackson
 
Introduction to the DOM
Introduction to the DOMIntroduction to the DOM
Introduction to the DOM
 
INTRODUCTION TO DOM AND DOM TREE
INTRODUCTION TO DOM AND DOM TREEINTRODUCTION TO DOM AND DOM TREE
INTRODUCTION TO DOM AND DOM TREE
 
JSON and MongoDB in R
JSON and MongoDB in RJSON and MongoDB in R
JSON and MongoDB in R
 
Understanding XML DOM
Understanding XML DOMUnderstanding XML DOM
Understanding XML DOM
 
Top JSON Interview Questions for Freshers
Top JSON Interview Questions for FreshersTop JSON Interview Questions for Freshers
Top JSON Interview Questions for Freshers
 

Viewers also liked

Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsStormpath
 
JSON - fat-free, independent & self-describing
JSON - fat-free, independent & self-describingJSON - fat-free, independent & self-describing
JSON - fat-free, independent & self-describingStudio Smeeuw
 
XML tekortkomingen en pluspunten
XML   tekortkomingen en pluspuntenXML   tekortkomingen en pluspunten
XML tekortkomingen en pluspuntenMarc de Graauw
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xmlFelix Sasaki
 
JSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsJSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsGregg Kellogg
 
Rekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarRekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarKhaerul Anwar
 
The NoSQL Way in Postgres
The NoSQL Way in PostgresThe NoSQL Way in Postgres
The NoSQL Way in PostgresEDB
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
 
jQuery Presentation
jQuery PresentationjQuery Presentation
jQuery PresentationRod Johnson
 
External Data Access with jQuery
External Data Access with jQueryExternal Data Access with jQuery
External Data Access with jQueryDoncho Minkov
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataGregg Kellogg
 

Viewers also liked (20)

Json tutorial
Json tutorialJson tutorial
Json tutorial
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIs
 
JSON and REST
JSON and RESTJSON and REST
JSON and REST
 
JSON - fat-free, independent & self-describing
JSON - fat-free, independent & self-describingJSON - fat-free, independent & self-describing
JSON - fat-free, independent & self-describing
 
XML tekortkomingen en pluspunten
XML   tekortkomingen en pluspuntenXML   tekortkomingen en pluspunten
XML tekortkomingen en pluspunten
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xml
 
JSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsJSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web Apps
 
Careers In Java Script Ajax - Java Script Ajax Tutorials & Programs by Learni...
Careers In Java Script Ajax - Java Script Ajax Tutorials & Programs by Learni...Careers In Java Script Ajax - Java Script Ajax Tutorials & Programs by Learni...
Careers In Java Script Ajax - Java Script Ajax Tutorials & Programs by Learni...
 
Inner core of Ajax
Inner core of Ajax Inner core of Ajax
Inner core of Ajax
 
Hari Resume
Hari ResumeHari Resume
Hari Resume
 
Rekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwarRekayasa web part 3 khaerul anwar
Rekayasa web part 3 khaerul anwar
 
Introduction to JSON & AJAX
Introduction to JSON & AJAXIntroduction to JSON & AJAX
Introduction to JSON & AJAX
 
The NoSQL Way in Postgres
The NoSQL Way in PostgresThe NoSQL Way in Postgres
The NoSQL Way in Postgres
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
jQuery Presentation
jQuery PresentationjQuery Presentation
jQuery Presentation
 
External Data Access with jQuery
External Data Access with jQueryExternal Data Access with jQuery
External Data Access with jQuery
 
jQuery PPT
jQuery PPTjQuery PPT
jQuery PPT
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked Data
 

Similar to JSON

JSON Support in Salesforce - winter 12
JSON Support in Salesforce - winter 12JSON Support in Salesforce - winter 12
JSON Support in Salesforce - winter 12Jitendra Zaa
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notationPankaj Srivastava
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataJordi Cabot
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataJavier Canovas
 
Easy JSON Data Manipulation in Spark
Easy JSON Data Manipulation in SparkEasy JSON Data Manipulation in Spark
Easy JSON Data Manipulation in SparkYin Huai
 
Data exchange over internet (XML vs JSON)
Data exchange over internet (XML vs JSON)Data exchange over internet (XML vs JSON)
Data exchange over internet (XML vs JSON)Wajahat Shahid
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2kriszyp
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notationDilip Kumar Gupta
 

Similar to JSON (20)

An introduction to json
An introduction to jsonAn introduction to json
An introduction to json
 
JSON Injection
JSON InjectionJSON Injection
JSON Injection
 
Json
JsonJson
Json
 
JSON Application
JSON ApplicationJSON Application
JSON Application
 
Json
JsonJson
Json
 
Intro to JSON
Intro to JSONIntro to JSON
Intro to JSON
 
JSON PRETTIFY.pdf
JSON PRETTIFY.pdfJSON PRETTIFY.pdf
JSON PRETTIFY.pdf
 
Json training
Json trainingJson training
Json training
 
JSON Support in Salesforce - winter 12
JSON Support in Salesforce - winter 12JSON Support in Salesforce - winter 12
JSON Support in Salesforce - winter 12
 
Json tutorial, a beguiner guide
Json tutorial, a beguiner guideJson tutorial, a beguiner guide
Json tutorial, a beguiner guide
 
Json
JsonJson
Json
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notation
 
07 objective-c session 7
07  objective-c session 707  objective-c session 7
07 objective-c session 7
 
Json
Json Json
Json
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON Data
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON Data
 
Easy JSON Data Manipulation in Spark
Easy JSON Data Manipulation in SparkEasy JSON Data Manipulation in Spark
Easy JSON Data Manipulation in Spark
 
Data exchange over internet (XML vs JSON)
Data exchange over internet (XML vs JSON)Data exchange over internet (XML vs JSON)
Data exchange over internet (XML vs JSON)
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notation
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

JSON

  • 1. JSON JavaScript Object Notation By: Ibrahim Alibrahim (ibrah.ibra@gmail.com) 23 May 2015 5/23/2015 1
  • 2. Outlines  Introduction  Example  Some History  Specification  JSON vs. XML  Conclusion 5/23/2015 2
  • 3. JSON - Introduction JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript Object Notation ◦ It’s really language independent ◦ most programming languages can easily read it and instantiate objects or some other data structure Defined in RFC 4627 Started gaining tracking ~2006 and now widely used http://json.org/ has more information 5/23/2015 3
  • 4. Example This is a JSON object with five key-value pairs Objects are wrapped by curly braces There are no object IDs Keys are strings Values are numbers, strings, objects or arrays Arrays are wrapped by square brackets { "firstName": "John", "lastName" : "Smith", "age" : 25, "address" : { "streetAdr” : "21 2nd Street", "city" : "New York", "state" : "NY", ”zip" : "10021“ }, "phoneNumber": [ {"type" : "home", "number": "212 555-1234"}, {"type" : "fax", "number” : "646 555-4567"} ] } 5/23/2015 4
  • 6. JSON Specification (BNF) - 1 5/23/2015 6
  • 7. JSON Specification (BNF) - 2 5/23/2015 7
  • 8. JSON Specification (BNF) - 3 5/23/2015 8
  • 9. JSON Specification (BNF) - 4 5/23/2015 9
  • 10. JSON vs. XML (Data Exchange Formats) Criteria JSON XML AJAX The X in AJAX JavaScript baby Needs more libraries Namespaces No Yes Input validation No Yes Transmission time less more Verbosity less more Web services REST SOAP REST is more popular in non-critical applications SOAP is more reliable is business applications 5/23/2015 10
  • 11. JSON vs. XML (Case Study) 5/23/2015  Comparison of JSON and XML Data Interchange Formats: A Case Study - Montana State University – Bozeman  Scenario 1: 1 million objects.  Scenario 2: 5 samples (20000, 40000, 60000, 80000, 100000) objects with statistical analysis. 11
  • 12. JSON vs. XML (Case Study) 5/23/2015 12
  • 13. Conclusion  JSON is a light weight text format for data exchange.  Simple BNF: objects, arrays, values (strings, numbers, null).  JSON is much faster than XML in AJAX applications.  REST + AJAX are the boosters of JSON.  ADE should include JSON not only XML. 5/23/2015 13

Editor's Notes

  1. lknvlsknv