diff --git a/reflex/base.py b/reflex/base.py
index a4c85e074..634ae126c 100644
--- a/reflex/base.py
+++ b/reflex/base.py
@@ -63,10 +63,9 @@ class Base(pydantic.BaseModel):
         Returns:
             The object as a json string.
         """
-        #  from reflex.utils.serializers import serialize
+        from reflex.utils.serializers import serialize
 
-        return self.model_dump_json()
-        #  return self.__config__.json_dumps(self.dict(), default=serialize)
+        return self.__pydantic_serializer__.to_json(value=self, fallback=serialize).decode()
 
     def set(self, **kwargs):
         """Set multiple fields and return the object.
diff --git a/reflex/vars.py b/reflex/vars.py
index bc4a81fa9..a591b76bf 100644
--- a/reflex/vars.py
+++ b/reflex/vars.py
@@ -220,7 +220,7 @@ def _encode_var(value: Var) -> str:
         final_value = str(value)
         data = value._var_data.dict()
         data["string_length"] = len(final_value)
-        data_json = value._var_data.__pydantic_serializer__.to_json(value=data, fallback=serialize)
+        data_json = value._var_data.__pydantic_serializer__.to_json(value=data, fallback=serialize).decode()
 
         return (
             f"{constants.REFLEX_VAR_OPENING_TAG}{data_json}{constants.REFLEX_VAR_CLOSING_TAG}"