CBOR посмотрите, может подойти => Вроде JSON, но бинарный. Есть готовые либы. Ещё NBT гляньте, http://caxapa.ru/785150.html
не относитесь предвзято, хоть и используется в игрушке (благодаря сыну наткнулся)
здесь
fk0 правильно указал, что надо исходить из того, что первично - текст или двоичные данные.