Python JSON
JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate. Python provides a built-in module json for parsing JSON data.
What is JSON?
JSON is commonly used to send and receive data over the web in a format that is both human-readable and easily parsed by machines. It is language-independent but uses conventions that are familiar to programmers of most modern programming languages.
Characteristics of JSON
1. Text-Based Format: JSON is a plain text format.
2. Key-Value Pairs: Data is represented as key-value pairs.
3. Interchangeable: JSON is language-independent, making it easy to use across platforms.
4. Structured: It supports nested structures, arrays, and objects.
Python's JSON Module
Python’s json module provides methods to parse JSON strings into Python objects and convert Python objects into JSON strings. The main functions provided by the json module include:
- json.load(): Parses a JSON string and converts it into a Python dictionary.
- json.loads(): Parses a JSON string and converts it into a Python dictionary (for use with strings).
- json.dump(): Converts a Python object into JSON format and writes it to a file.
- json.dumps(): Converts a Python object into a JSON string.
1. Working with JSON
import json
# Converting a Python dictionary to a JSON string
python_obj = {"name": "John", "age": 30, "city": "New York"}
json_string = json.dumps(python_obj)
print(json_string) # Output: '{"name": "John", "age": 30, "city": "New York"}'
# Converting a JSON string to a Python dictionary
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)
print(python_dict) # Output: {'name': 'John', 'age': 30, 'city': 'New York'}
Explanation of the Code:
- The dumps() method converts a Python object (in this case, a dictionary) into a JSON string. - The loads() method converts a JSON string into a Python dictionary.
Output
Working with Files
Python's json module can also be used to read and write JSON data to and from files. This is commonly used when working with large datasets or when communicating with web services.
import json
# Writing JSON to a file
data = {"name": "Alice", "age": 25}
with open('data.json', 'w') as json_file:
json.dump(data, json_file)
# Reading JSON from a file
with open('data.json', 'r') as json_file:
data_from_file = json.load(json_file)
print(data_from_file)
The json module in Python makes it easy to work with JSON data, whether you are reading from a file, converting to/from strings, or handling large datasets. It is a vital tool for working with web APIs and transferring data across systems.