SCC is a hex dump that people cannot read or edit by hand, and web players do not read it. JSON is what APIs and most programming languages read natively. SCC is at home in closed captions for US and Canadian broadcast, DVD and some streaming deliveries; 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. CEA-608 pop-on, roll-up and paint-on captions on the first caption channel (or the second, if the first is empty) are read; colours are dropped, and a roll-up row becomes one cue that ends when it scrolls off. Times follow the 29.97 fps frame clock, drop-frame or not. 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.