JSON (JavaScript Object Notation), is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects.
Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages.
The JSON format was originally specified by Douglas Crockford, and is described in RFC 4627. The official Internet media type for JSON is application/json. The JSON filename extension is .json.
The JSON format is often used for serializing and transmitting structured data over a network connection. It is used primarily to transmit data between a server and web application, serving as an alternative to XML.
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
An Introduction to JSON JavaScript Object Notation
1. An Introduction to JSON
Ahmed Muzammil | @ahmedmzl
JavaScript Object Notation
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
2. What's inside
Introducing JSON
Why JSON
JSON Structures
Data in JSON
JSON Arrays, Objects
JSON Values, String, Number
Tools for Developers
JSON Data Example
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
3. JavaScript Object Notation
The fat free alternative to XML
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
4. Why JSON ??
• It's easy for humans to read and write
• It's also easy for computers to read and parse
• JSON's structure is significantly simple.
• Parsing efficiency is more when compared to XML
• Lighter and faster than XML as on-the-wire data format
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
5. JSON objects are "typed" vs. XML is "typeless"
XML JSON
All
Strings boolean
string array
number
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
7. JSON ➡ Native data form for JavaScript
• Data is readily accessible • XML data needs parsing
as JSON objects
• Needs to use tedious
• Retrieving values from DOM APIs and
JSON is as easy as processing power to
importing an object in assign to variables
JavaScript
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
8. JSON is built on two structures
• A collection of name/value pairs
• Realization (as in various programming languages)
• Object, Record, Struct, Dictionary, HashTable, Keyed
List, or Associative Array
• An ordered list of values. In most languages, this is realized
as an array, vector, list, or sequence.
• Realization (as in various programming languages
• array, vector, list, or sequence
• JSON follows universal data structures
• It is interoperable between programming languages
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
9. Data Storage In JSON
• Object
• Array
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
10. JSON :: Object
• Example
var myJSONObject = { “Fruits” :
[
“Apple” ,
“Orange”,
“Grapes”
],
};
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
11. JSON :: Array
• Example
var myJSONArray = [
“Apple” ,
“Orange”,
“Grapes”
];
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
13. JSON String
• A string is very much like a C or Java string.
• string is a collection of zero or more Unicode characters within double
quotes and using backslash escapes
• character is represented as a single character string
Eg.
“Ahmed Muzammil”
“”Jamal””
“nTest”
“uAF34u34DS”
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
14. JSON Number
• A number is very much like a C or Java number
! octal and hexadecimal formats are not used.
Eg.
1234567
1.32432
0.342 e+12
1.23324342 e-32
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
15. JSON Tools for Developers
• Available for download @ www.json.org
• Parser
Parse JSON text files and convert these to a Java model
• Renderer
Render a Java representation into text
• Serializer
Serialize plain POJO clusters to a JSON representation
• Validator
Validate the contents of a JSON file using a JSON schema
• Tools are also available for other languages
• ASP, ActionScript, C Family, ColdFusion, Delphi, JavaScript, Perl, PHP,
PL/SQL, Ruby, Symbian & many more
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
16. Where is JSON Used?
• Ajax applications / Web 2.0
• Represent configuration information
• Implement communication protocols
• Data Exchange
• Remote Procedure Call / RMI
• Service Oriented Architecture
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
17. Let’s end with an example JSON
{ "firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021“
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234“
},
{
"type": "fax",
"number": "646 555-4567“
}
]
}
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
18. The same Example in XML
<Object>
<Property><Key>firstName</Key> <String>John</String></Property>
<Property><Key>lastName</Key> <String>Smith</String></Property>
<Property><Key>age</Key> <Number>25</Number></Property>
<Property><Key>address</Key> <Object> <Property><Key>streetAddress</Key>
<String>21 2nd Street</String></Property>
<Property><Key>city</Key> <String>New York</String></Property>
<Property><Key>state</Key> <String>NY</String></Property>
<Property><Key>postalCode</Key> <String>10021</String></Property>
</Object>
</Property> <Property><Key>phoneNumber</Key>
<Array> <Object> <Property><Key>type</Key> <String>home</String></Property>
<Property><Key>number</Key> <String>212 555-1234</String></Property></Object>
<Object>
<Property><Key>type</Key> <String>fax</String></Property> <Property><Key>number</
Key> <String>646 555-4567</String></Property> </Object> </Array>
</Property>
</Object>
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
19. Want more of JSON ? Go here...
• Introducing JSON
- http://www.json.org/
• Introduction to JSON
- http://www.javapassion.com/ajax/JSON.pdf
• JSON in JavaScript
- http://www.json.org/js.html
• JSON in Java
- http://www.json.org/java/index.html
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl
20. JSON is GOOD !
• Like this presentation? Share it...
• Questions?
- Tweet me @ahmedmzl
• I can help you on: Buy a "I ♥ JSON Tshirt" like this here at zazzle.com
• Service Oriented Architecture (SOA)
• Business Process Management (BPM)
• Business Intelligence (BI)
• User Experience (UX)
• Product Development
• Project Management
www.ahmedmzl.com | Ahmed Muzammil Jamal ] LinkedIn ] @ahmedmzl