use `JSONEncodeManager` replace default `output_json` function of Flask-RESTful
    for the advantage of use `JSONEncodeManager`, please see https://github.com/anjianshi/json_encode_manager

def enhance_json_encode(api_instance, extra_settings=None):
    """use `JSONEncodeManager` replace default `output_json` function of Flask-RESTful
    for the advantage of use `JSONEncodeManager`, please see https://github.com/anjianshi/json_encode_manager"""
    api_instance.json_encoder = JSONEncodeManager()

    dumps_settings = {} if extra_settings is None else extra_settings
    dumps_settings['default'] = api_instance.json_encoder
    dumps_settings.setdefault('ensure_ascii', False)

    @api_instance.representation('application/json')
    def output_json(data, code, headers=None):
        if current_app.debug:
            dumps_settings.setdefault('indent', 4)
            dumps_settings.setdefault('sort_keys', True)

        dumped = json.dumps(data, **dumps_settings)
        if 'indent' in dumps_settings:
            dumped += '\n'

        resp = make_response(dumped, code)
        resp.headers.extend(headers or {})
        return resp