{"firstName": "John", "lastName" : "Smith", "age" : 25, "address" : {"streetAdr” : "21 2nd Street", "city" : "New York", "state" : "NY", ”zip" : "10021"}, "phoneNumber": [{"type" : "home", "number": " "}, {"type" : "fax", "number” : " "}] }
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
Ararys are wrapped by square brackets
2. Outline
? What is JSON?
? Syntax
? Example
? Schema
? Validating JSON file
? Using JSON with Python
? Writing a JSON file
? Reading a JSON
? Accessing JSON Properties in Python
3. What is JSON?
? “JSON” stands for “JavaScript Object Notation”
? Lightweight data-interchange format
? Despite the name, JSON is a (mostly) language-
independent way of specifying objects as name-value
pairs
? Structured representation of data object
? Can be parsed with most modern languages
? JSON Schema can be used to validated a JSON
file
4. JSON Syntax Rules
? JSON is almost identical to python dictionary except for
? In JSON, true and false are not capitalized
? In JSON, null is used instead of None
? Uses key/value pairs: {“name”: “John”}
? Uses double quotes around KEY and VALUE
? Must use the specified types
? File type is “.json”
? A value can be: A string, a number, true, false, null, an
object, or an array
? Strings are enclosed in double quotes, and can contain
the usual assortment of escaped characters
6. JSON Schema
? A JSON Schema allows you to specify what type of
data can go into your JSON files.
? It allows you to restrict the type of data entered.
8. Validating JSON file
? The following website can be used to validate a JSON
file against a schema
https://www.jsonschemavalidator.net/
? Paste both the schema and the corresponding JSON file
9. Using JSON with Python
? To work with JSON (string, or file containing JSON
object), you can use Python's json module.
import json
10. Loading JSON data from a file
? Example:
def load_json(filename):
with open(filename) as file:
jsn = json.load(file)
#file.close()
return jsn
person = load_json('person.json')
? This command parse the above person.json using
json.load() method from the json module. The result is a
Python dictionary.
11. Writing JSON object to a file
? Example:
person = { "name": "John Smith", "age": 35,
"address": {"street": "5 main St.", "city":
"Austin"}, "children": ["Mary", "Abel"]}
with open('person_to_json.json', 'w') as fp:
json.dump(person, fp, indent=4)
? Using json.dump(), we can convert Python Objects to
JSON file.
12. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property "name"
? Print(person["name"])
? John Smith
13. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property “age"
? person["age"]
? 35
14. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property “street"
? print(person["address"]["street"])
? 5 main St.
15. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property “street"
? print(person["address"]["city"])
? Austin
16. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property “street"
? print(person["children"][0])
? Mary
17. Accessing JSON Properties in Python
? Example:
Assume that you already loaded your person.json as
follows.
person = load_json('person.json')
To access the property “street"
? print(person["children"][1])
? Abel