Untitled
Untitled
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
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
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
JSON Example
{
"name": "John Smith",
"age": 35,
"address": {
"street": "5 main St.",
"city": "Austin"
},
"children": ["Mary", "Abel"]
}
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.
JSON Schema
{ "address": { "children": {
"type": "object", "type": "object", "type": "array",
"properties": { "properties": {
"items": [
"name": { "street": {
{
"type": "string"
"type": "string"
}, "type": "string"
},
"city": { }
"age": {
"type": "string" ]
"type": "integer"
} }
}, }
}
},
}
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
Using JSON with Python
To work with JSON (string, or file containing JSON
object), you can use Python's json module.
import json
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')