Кодирование и декодирование JSON
Используйте json.loads, json.dumps и json.load/dump для ввода-вывода JSON.
«Кодирование и декодирование JSON» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Введение
json.dumps()
import json
d = {'name': 'Alice', 'age': 30, 'active': True}
print(json.dumps(d, indent=2))json.loads()
import json
s = '{"name": "Alice", "scores": [90, 85]}'
data = json.loads(s)
print(type(data), data['name'])json.dump() в файл
import json, tempfile, os
tmp = tempfile.mktemp(suffix='.json')
with open(tmp, 'w') as f:
json.dump({'x': 1}, f, indent=2)
print(open(tmp).read())
os.unlink(tmp)json.load() из файла
import json, io
buf = io.StringIO('{"key": "value"}')
data = json.load(buf)
print(data)Соответствие типов JSON
import json
s = '[1, "two", true, null, {"a": 3.14}]'
print(json.loads(s))Несериализуемые типы
import json
from datetime import datetime
def default(obj):
if isinstance(obj, datetime):
return obj.isoformat()
raise TypeError(f'{type(obj)} not serializable')
print(json.dumps({'ts': datetime.now()}, default=default))sort_keys и separators
import json
d = {'z': 3, 'a': 1, 'm': 2}
print(json.dumps(d, sort_keys=True, separators=(',', ':')))Форматированный вывод
import json
d = {'name': 'Mehmet', 'city': 'Istanbul'}
print(json.dumps(d, indent=4, ensure_ascii=False))JSONDecodeError
import json
try:
json.loads('{bad json}')
except json.JSONDecodeError as e:
print(f'Parse error: {e}')Обновление JSON-файлов
import json, io
buf = io.StringIO('{"count": 5}')
data = json.load(buf)
data['count'] += 1
print(json.dumps(data))Быстрая проверка
Итоги
Продолжайте
Часто задаваемые вопросы
Урок «Кодирование и декодирование JSON» бесплатный?
Да — полный текст урока «Кодирование и декодирование JSON» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Кодирование и декодирование JSON»?
Используйте json.loads, json.dumps и json.load/dump для ввода-вывода JSON. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Кодирование и декодирование JSON»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Кодирование и декодирование JSON
- Работа с вложенными структурами JSON
- Чтение CSV с помощью csv.reader
- Запись CSV с помощью csv.DictWriter