The "semi" in semi-readable is no mistake either. The lack of comments is a real drawback in JSON for human readability. It's a major reason why YAML is used as a substitute in complex cases (An AWS Cloudformation template might be a good example- they're all gone YAML).
Similarly, JSON still has ambiguity around encoding (type of UTF). Dates are the same. Even integers, which are limited to JavaScript's 53-bit implementation (all numbers in JavaScript are doubles, so you're stuck with the mantissa limit). This is a huge pain if you're dealing with 64-bit values.
UTF-8 and JSON is a good place to start for Web Development, but there is no way it's the final or only answer.