diff --git a/octavia_tempest_plugin/services/load_balancer/v2/amphora_client.py b/octavia_tempest_plugin/services/load_balancer/v2/amphora_client.py
index 54f280e..ce324cb 100644
--- a/octavia_tempest_plugin/services/load_balancer/v2/amphora_client.py
+++ b/octavia_tempest_plugin/services/load_balancer/v2/amphora_client.py
@@ -12,7 +12,7 @@
 #   License for the specific language governing permissions and limitations
 #   under the License.
 
-import json
+from oslo_serialization import jsonutils
 
 from tempest import config
 
@@ -154,6 +154,6 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))[self.stats_root_tag]
+            return jsonutils.loads(body.decode('utf-8'))[self.stats_root_tag]
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
diff --git a/octavia_tempest_plugin/services/load_balancer/v2/base_client.py b/octavia_tempest_plugin/services/load_balancer/v2/base_client.py
index 397c735..a3ad153 100644
--- a/octavia_tempest_plugin/services/load_balancer/v2/base_client.py
+++ b/octavia_tempest_plugin/services/load_balancer/v2/base_client.py
@@ -13,9 +13,8 @@
 #   under the License.
 #
 
-import json
-
 from oslo_log import log as logging
+from oslo_serialization import jsonutils
 from tempest import config
 from tempest.lib.common import rest_client
 from tempest.lib.common.utils import test_utils
@@ -99,12 +98,12 @@
         else:
             request_uri = self.uri
 
-        response, body = self.post(request_uri, json.dumps(obj_dict))
+        response, body = self.post(request_uri, jsonutils.dumps(obj_dict))
         self.expected_success(201, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))[self.root_tag]
+            return jsonutils.loads(body.decode('utf-8'))[self.root_tag]
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
 
     def _show_object(self, obj_id, parent_id=None, query_params=None,
                      return_object_only=True):
@@ -156,9 +155,9 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))[self.root_tag]
+            return jsonutils.loads(body.decode('utf-8'))[self.root_tag]
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
 
     def _list_objects(self, parent_id=None, query_params=None,
                       return_object_only=True):
@@ -208,9 +207,9 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))[self.list_root_tag]
+            return jsonutils.loads(body.decode('utf-8'))[self.list_root_tag]
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
 
     def _update_object(self, obj_id, parent_id=None, return_object_only=True,
                        **kwargs):
@@ -258,12 +257,12 @@
             uri = self.uri
 
         request_uri = '{0}/{1}'.format(uri, obj_id)
-        response, body = self.put(request_uri, json.dumps(obj_dict))
+        response, body = self.put(request_uri, jsonutils.dumps(obj_dict))
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))[self.root_tag]
+            return jsonutils.loads(body.decode('utf-8'))[self.root_tag]
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
 
     def _delete_obj(self, obj_id, parent_id=None, ignore_errors=False,
                     cascade=False):
@@ -365,7 +364,7 @@
         try:
             request_uri = '{0}/{1}'.format(uri, obj_id)
             response, body = self.get(request_uri)
-            resp_obj = json.loads(body.decode('utf-8'))[self.root_tag]
+            resp_obj = jsonutils.loads(body.decode('utf-8'))[self.root_tag]
             if (response.status == 404 or
                     resp_obj['provisioning_status'] == const.DELETED):
                 raise exceptions.NotFound()
@@ -447,7 +446,7 @@
         response, body = self.get('/')
         self.expected_success(200, response.status)
 
-        versions_list = json.loads(body.decode('utf-8'))['versions']
+        versions_list = jsonutils.loads(body.decode('utf-8'))['versions']
         current_versions = (version for version in versions_list if
                             version['status'] == 'CURRENT')
         max_version = '0.0'
diff --git a/octavia_tempest_plugin/services/load_balancer/v2/listener_client.py b/octavia_tempest_plugin/services/load_balancer/v2/listener_client.py
index ce41b0f..de84bd1 100644
--- a/octavia_tempest_plugin/services/load_balancer/v2/listener_client.py
+++ b/octavia_tempest_plugin/services/load_balancer/v2/listener_client.py
@@ -13,7 +13,7 @@
 #   under the License.
 #
 
-import json
+from oslo_serialization import jsonutils
 
 from tempest import config
 
@@ -340,6 +340,6 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))['stats']
+            return jsonutils.loads(body.decode('utf-8'))['stats']
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
diff --git a/octavia_tempest_plugin/services/load_balancer/v2/loadbalancer_client.py b/octavia_tempest_plugin/services/load_balancer/v2/loadbalancer_client.py
index 6ea83f0..9a287cf 100644
--- a/octavia_tempest_plugin/services/load_balancer/v2/loadbalancer_client.py
+++ b/octavia_tempest_plugin/services/load_balancer/v2/loadbalancer_client.py
@@ -13,7 +13,7 @@
 #   under the License.
 #
 
-import json
+from oslo_serialization import jsonutils
 
 from tempest import config
 
@@ -337,9 +337,9 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))['stats']
+            return jsonutils.loads(body.decode('utf-8'))['stats']
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
 
     def get_loadbalancer_status(self, lb_id, query_params=None,
                                 return_object_only=True):
@@ -387,6 +387,6 @@
         response, body = self.get(request_uri)
         self.expected_success(200, response.status)
         if return_object_only:
-            return json.loads(body.decode('utf-8'))['statuses']
+            return jsonutils.loads(body.decode('utf-8'))['statuses']
         else:
-            return json.loads(body.decode('utf-8'))
+            return jsonutils.loads(body.decode('utf-8'))
diff --git a/octavia_tempest_plugin/services/load_balancer/v2/member_client.py b/octavia_tempest_plugin/services/load_balancer/v2/member_client.py
index 3909ac2..63e836a 100644
--- a/octavia_tempest_plugin/services/load_balancer/v2/member_client.py
+++ b/octavia_tempest_plugin/services/load_balancer/v2/member_client.py
@@ -12,9 +12,8 @@
 #   License for the specific language governing permissions and limitations
 #   under the License.
 
-import json
-
 from oslo_log import log as logging
+from oslo_serialization import jsonutils
 from tempest import config
 
 from octavia_tempest_plugin.services.load_balancer.v2 import base_client
@@ -269,7 +268,7 @@
         obj_dict = {self.list_root_tag: members_list}
         request_uri = self.uri.format(parent=pool_id)
 
-        response, body = self.put(request_uri, json.dumps(obj_dict))
+        response, body = self.put(request_uri, jsonutils.dumps(obj_dict))
         self.expected_success(202, response.status)
         return
 
diff --git a/requirements.txt b/requirements.txt
index 815be94..c9f839c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,6 +9,7 @@
 octavia-lib>=1.0.0 # Apache-2.0
 oslo.config>=5.2.0 # Apache-2.0
 oslo.log>=3.36.0  # Apache-2.0
+oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0  # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
 python-barbicanclient>=4.5.2 # Apache-2.0
