Storage Format

How is the JSON stored on the users computer.

File and File Name Format:

  • All hand histories MUST be stored in plain text files.

  • All hand histories files MUST have an .OHH file extension.

  • Filenames MUST use only ASCII characters.

Other than the above requirements, hand history filenames can be named anything. We recommend including at least the table name in the filename.

Hand History Grouping per File

Hand histories are self contained and theoretically can be one hand history per file or a million hand histories per file. However, for efficiency and portability we recommend that there is one file for each table session which contains all of the hand histories played during that table session within a single file.

Since each hand history is a self-contained JSON object, to include multiple hand histories in a single file, each hand history JSON object MUST be separated by one blank line such as:

{"ohh": <standardized_hand_history_object_1>}
{"ohh": <standardized_hand_history_object_2>}
{"ohh": <standardized_hand_history_object_3>}

The resulting .OHH file will not be a valid JSON structure and will instead be several JSON objects; however, this trade-off allows writers to stream the hands to the end of the hand history file upon completion of the hand without re-parsing and/or re-saving previous hands.

If hand histories are being provided to a user at a later date, it is acceptable to group all hand histories by date played into a single file so long as each hand history object is separated by one blank line.