Структура языка — набор пар ключ/значение, практически не имеющих отличий с JavaScript. Каждое имя выделяется двоеточием. Пары «ключ/значение» разделяют знаком запятой. В именах свойств объекта и строчках применяют двойные кавычки.
Формат не поддерживает комментарии и ключи без кавычек. Их поддержка есть в JSON 5, но её считают самостоятельной библиотекой, а не подмножеством языка.
Несмотря на то, что JSON не зависит от языка реализации, он использует разрешения C, C++, Python, Java и многих других.