JSON formatter expects JSONable dict/list

not already-serialized JSON string

pre-3.0 case of JSON string is handled with a warning.

msgspec5 made this change, but Python APIs that publish
JSON weren't updated to match.
put test in content manager
ensure warnings are raised in tests

avoids missed warnings if the warning was already shown
Merge pull request #7210 from minrk/json-display

JSON formatter expects JSONable dict/list