RFC7159 introduced a change to the RFC4627, as mentioned in Appendix A:
Changed the definition of "JSON text" so that it can be any JSON
value, removing the constraint that it be an object or array.
This meant that the heuristic in Section 3 of RFC4627 was no longer valid:
Since the first two characters of a JSON text will always be ASCII
characters [RFC0020], it is possible to determine whether an octet
stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking