Загрузка...

JSON

JSON — это текст. Словарь хранит имена и значения внутри программы, но пока не является JSON. dumps превращает словарь в одну строку текста. На этой странице файл не открывается и путь не строится.

словарь становится строкой текста

python
import json
lamp = {"color": "blue", "watts": 7}
text = json.dumps(lamp)
print(text)

На экране появится {"color": "blue", "watts": 7}. color и blue стоят в двойных кавычках. watts — число, поэтому у 7 кавычек нет. Пробел после двоеточия и пробел после запятой тоже входят в этот текст. text — строка. Файл не создаётся. В программе нет ни open, ни Path.

текст снова становится словарём

python
import json
text = '{"color": "blue", "watts": 7}'
lamp = json.loads(text)
print(lamp["color"])
print(lamp["watts"])

На экране сначала blue, потом 7. loads читает текст JSON и заново собирает словарь. Значение lamp["color"] — слово blue, уже без кавычек. lamp["watts"] — число 7, а не слово 7. Файл не читается: текст уже лежал в переменной.

📊 dumps и loads

Вызов С чего вы начинаете Что получаете
json.dumps словарь одна строка текста JSON, файл при этом не записывается
json.loads текст JSON словарь, файл при этом не читается

Если текст — не настоящий JSON, loads останавливается. Эта остановка называется JSONDecodeError. {color: blue} — не JSON: у имён и у blue нет двойных кавычек. Этой строки нет в программах на странице. None вместо неё не подставляется, и программа не идёт дальше.

Следующая страница — таблица CSV. Здесь словарь только превращается в текст, а текст — обратно в словарь.

Текст, потом снова словарь

dumps показывает {"color": "blue", "watts": 7}. Затем loads показывает blue и 7. 7 — число. Неверная строка останавливается с JSONDecodeError. Файл не записывается и не читается. Следующая страница — таблица CSV.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
5
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху