SMI is HTML-like and many players outside Windows and Korea do not read it. JSON is what APIs and most programming languages read natively. SMI is at home in subtitles for Korean-market players and multilingual files; JSON is the usual choice for APIs and data exchanged between programs.
The text is read as UTF-8 or UTF-16, whichever the file is. An older file in another code page is read using the charset it declares, or as Windows-1252 if it declares none, so accented letters in an unlabelled legacy file can come out wrong. A file that is not text, such as the picture-based subtitles of a DVD, is refused instead of being converted to nonsense. A SAMI file can hold several languages; only the first one found is read. The result is a JSON list with one object per cue: its number, start and end as clock times and in milliseconds, and its text.