I'm just starting with HangFire, however my understanding is the following:
You don't need to send the parameters as Json.
Under the hood, HangFire will convert the parameters to a JSON so it can be stored on the database or on the implemented Queue.
If you are reading the parameters for querying purpose, then you can use Json.net to convert the JSON object to a dto based on your parameters to allow easier data manipulation.
Does this answer your question?