ParseNonRFCJSONValue() is no longer necessary and we can use UniValue::read() directly [...] To avoid code duplication, we keep the function to throw on invalid input data but rename it to Parse() and remove it from the header. The existing test coverage we had on ParseNonRFCJSONValue() is moved over to UniValue::read().
Backport of core#27256.