forked from trekhleb/learn-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_json.py
38 lines (26 loc) · 1.51 KB
/
test_json.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""Serialization.
@see: https://www.learnpython.org/en/Serialization
Python provides built-in JSON libraries to encode and decode JSON.
"""
import json
def test_json():
"""JSON serialization."""
# There are two basic formats for JSON data. Either in a string or the object data-structure.
# The object data-structure, in Python, consists of lists and dictionaries nested inside each
# other. The object data-structure allows one to use python methods (for lists and dictionaries)
# to add, list, search and remove elements from the data-structure. The String format is mainly
# used to pass the data into another program or load into a data-structure.
person_dictionary = {'first_name': 'John', 'last_name': 'Smith', 'age': 42}
assert person_dictionary['first_name'] == 'John'
assert person_dictionary['age'] == 42
json_string = '{"first_name": "John", "last_name": "Smith", "age": 42}'
# To load JSON back to a data structure, use the "loads" method. This method takes a string
# and turns it back into the json object data-structure:
person_parsed_dictionary = json.loads(json_string)
assert person_parsed_dictionary == person_dictionary
assert person_parsed_dictionary['first_name'] == 'John'
assert person_parsed_dictionary['age'] == 42
# To encode a data structure to JSON, use the "dumps" method. This method takes an object and
# returns a String:
encoded_person_string = json.dumps(person_dictionary)
assert encoded_person_string == json_string