diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py index 5211ad935521eddf7cb47e5fd443542b0b1cc22c..7146f321b1ef3be193dbac93b9d0b043065204dd 100644 --- a/src/webui/service/__init__.py +++ b/src/webui/service/__init__.py @@ -45,10 +45,12 @@ 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 not isinstance(data[0], dict): + 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))] else: return [('item', str(data))]