Встречается на собеседованиях • сегодня
Как реализовать использование объектов после десериализации
При десериализации JSON в Python (например, через json.loads()), данные преобразуются в стандартные типы: dict, list, str и т.д. Чтобы работать с ними как с объектами, есть несколько подходов:
- Ручное преобразование:
python
import json
data = '{"name": "Alice", "age": 30}'
dict_data = json.loads(data)
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person(**dict_data)
text
2. **Использование `dataclasses` (Python 3.7+)**:
```python
from dataclasses import dataclass
import json
@dataclass
class Person:
name: str
age: int
data = '{"name": "Bob", "age": 25}'
person = Person(**json.loads(data))- Кастомный декодер:
python
import json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def person_decoder(dct):
if 'name' in dct and 'age' in dct:
return Person(dct['name'], dct['age'])
return dct
data = '{"name": "Charlie", "age": 35}'
person = json.loads(data, object_hook=person_decoder)Для сложных случаев можно использовать библиотеки типа marshmallow или pydantic, которые предоставляют более продвинутые возможности валидации и сериализации/десериализации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы