Reads the full content as a JSON object.
Future<ResourceTry<Map<String, dynamic>>> readAsJson() async => (await readAsString(charset: Charsets.utf8)) .mapCatching((it) => json.decode(it));