Funny, I do the same. Additionally, one can define a json schema for the output and try to load the response as json or retry for a number of times. If it is not valid json or the schema is not followed we discard it and retry.
It also helps with having a field of the json be the confidence or a similar pattern to act as a cut for what response is accepted.