Decodes body as JSON, or returns null for an empty body.
null
Object? get json => body.trim().isEmpty ? null : jsonDecode(body);