add missing to_json to fallback