Ответ на пост «Сравнение Yaml и Json»1
Байтовый протокол лучше
Байтовый протокол лучше
P.S. JS не поддерживает целочисленные типы, все числа являются number, который по факту double, поэтому самый большой int который JS может сохранить без потери точности - 2^53 - 1
Никаких ошибок при попытке обработать слишком большое число не будет - оно просто сконвертируется в ближайшее представимое double (удачного дебага, если это ID в базе)
То же касается JSON - как формат, он не содержит точных требований как обрабатывать числа - всё number и зависит от имплементации. Какие-то языки и библиотеки различают int и double автомагически, какие-то всё интерпретируют как double, какие-то падают на конверсии.