func (jm *JSONMarshalOptions) Restore() {
	jm.current = jm.saved
	jm.saved = nil
	jm.mu.Unlock()
}
Restore restores the production JSON marshaling options. There must be an active Replace() called
previously.
package resttools
import (
	"strings"
	"sync"
	"github.com/iancoleman/strcase"
	"google.golang.org/protobuf/encoding/protojson"
)
func ToJSON() *protojson.MarshalOptions {
	copy := *JSONMarshaler.current
	return &copy
}
func FromJSON() *protojson.UnmarshalOptions {
	return &protojson.UnmarshalOptions{}
}
var JSONMarshaler JSONMarshalOptions
type JSONMarshalOptions struct {
	current, saved *protojson.MarshalOptions
	mu             sync.Mutex
}
func (jm *JSONMarshalOptions) Replace(opt *protojson.MarshalOptions) {
	jm.mu.Lock()
	if opt == nil {
		opt = jm.current
	}
	jm.saved = jm.current
	jm.current = opt
}