decodeAsPayload
Decodes a raw JSON string into a strongly-typed object. Useful when you have the payload String directly (e.g., from logging or testing).
Return
The decoded object, or null if the string is blank or deserialization fails.