JSON Dumps: практическое руководство и примеры кода
JSON (JavaScript Object Notation) – это формат обмена данными, основанный на языке JavaScript. Он позволяет представлять структурированные данные в виде текста, который легко читать и понимать как человеку, так и компьютеру. Библиотека Python, называемая json, предоставляет набор инструментов для работы с JSON данными, включая метод json.dumps().
Метод json.dumps() используется для сериализации объекта Python в строку JSON. Он принимает один обязательный аргумент - объект, который нужно сериализовать, и возвращает строку JSON. Если объект не может быть сериализован в JSON, будет выброшено исключение TypeError. Примеры кода помогут наглядно продемонстрировать, как использовать json.dumps().
Пример 1: Сериализация словаря в JSON строку
import json
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_data = json.dumps(data)
print(json_data)
Результат этого кода будет следующим:
{"name": "John", "age": 30, "city": "New York"}
Пример 2: Сериализация списка в JSON строку
import json
data = ['apple', 'banana', 'cherry']
json_data = json.dumps(data)
print(json_data)
Результат:
["apple", "banana", "cherry"]
Пример 3: Сериализация объекта класса с помощью метода JSONEncoder
import json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def toJSON(self):
return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4)
person = Person("John", 30)
json_data = person.toJSON()
print(json_data)
Результат:
{
"age": 30,
"name": "John"
}
Метод json.dumps() также предлагает несколько необязательных аргументов. Например:
indent: используется для указания количества пробелов для отступа при форматировании JSON строки.separators: позволяет определить кастомные разделители между элементами.sort_keys: указывает, нужно ли сортировать ключи в JSON строке.
JSON - удобный формат данных для обмена между различными языками программирования и платформами. Благодаря методу json.dumps() в Python, вы можете легко сериализовать объекты Python в JSON для их передачи или хранения.