Говоря про TCP больше подразумевают socket, где просто бинарным пакетом передаешь данные, сам придумываешь формат, упаковщик и парсер, при этом размер пакета может быть очень гораздо меньше, чем JSON или другой текст.
JSON обычно используется в текстовых протоколах, таких как http
Но можно и просто текст передавать.