diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py
index dc653126e4e2ea51ffb4bd4d8505a76301aa76a9..b864d3549e051b54e888c80547724da14fec5f67 100644
--- a/src/webui/service/__init__.py
+++ b/src/webui/service/__init__.py
@@ -45,13 +45,14 @@ def json_to_list(json_str : str) -> List[Union[str, Tuple[str, str]]]:
         data = json.loads(json_str)
     except: # pylint: disable=bare-except
         return [('item', str(json_str))]
-    
+
     if isinstance(data, dict):
         return [('kv', (key, value)) for key, value in data.items()]
-    elif isinstance(data, list) and len(data) == 1 and isinstance(data[0], dict): # BWM use-case
-        return [('kv', (key, value)) for key, value in data[0].items()]
-    elif isinstance(data, list) and all(isinstance(d, str) for d in data):
-        return [('item', ', '.join(data))]
+    elif isinstance(data, list):
+        if len(data) == 1 and isinstance(data[0], dict):
+            return [('kv', (key, value)) for key, value in data[0].items()]
+        else:
+            return [('item', ', '.join([str(d) for d in data]))]
     else:
         return [('item', str(data))]