Most collections, even if they dont contain the same structure , they contain similar. So it would make a lot of sense and save a lot of space to tokenize the field names.
When the client connects to the DB, the DB could send the token table to the client. It surely won't be big. When the client needs to serialize a field it does not have a token for, it assings a random 32 bit value to it and sends the token along with the command.
Of course, this could be optional.