If a file contains a byte-order marker (at least U+FEFF) as the very first character in the file, facet-json doesn't understand it correctly and just returns an error.
I think it should essentially discard this byte and parse the rest of the file as if the byte didn't exist, but I guess I don't know the JSON spec so maybe this is explicitly forbidden and facet-json is doing the correct thing.