This does not appear to be documented or tested in the json package. We should probably do that.
It's also worth thinking if there's any combination of options that would interact in confusing ways. In that case, the docs might need to document what their combined behavior would be, e.g. in what order the options take effect.
One particular example is ,omitempty and ,string, which is easy, given that the only way omitempty makes sense in that combination is if it applies beforestring when encoding.