Software Engineering
August 15, 2021

JSON — это не вложенные дикты, листы и скаляры

JSON — это последовательность байтов. Байты представляют из себя строку текста в в UTF-8. В которую закодированы вложенные дикты, листы, инты, флоаты, строки и наны. Пример:

json_encoded_data = b'{"foo": {"bar": ["buzz", "fizz"], "qwe": 123}}'
decoded_data = json.loads(json_encoded_data)

json_encoded_data — вот это JSON. decoded_data — а это не JSON.

Не надо называть большой дикт словом json. Это не JSON, это просто большой дикт, который может быть закодирован в XML, ASN.1, Protobuf, код на Python и кучу других форматов данных.

Называйте словом json байты или, на худой конец, строку, которая получена путем декодирования байтов из UTF-8.