AbstractJsonContentAssert is currently a AbstractStringAssert which means that satisfies run on the raw String. So we can't write something like assertThat(json).satisfies(content -> assertThat(content)....

Besides, being a AbstractStringAssert means we have the regular isEqualTo that takes a String and doesn't have the semantic of checking if the string ends with .json to load a file. It would be much less confusing if we stop inheriting from all these methods.

Perhaps an asJsonString could help getting back the raw text if that's really necessary down the road.