diff --git a/apps/application/flow/step_node/tool_lib_node/impl/base_tool_lib_node.py b/apps/application/flow/step_node/tool_lib_node/impl/base_tool_lib_node.py index 213de279a..61600398f 100644 --- a/apps/application/flow/step_node/tool_lib_node/impl/base_tool_lib_node.py +++ b/apps/application/flow/step_node/tool_lib_node/impl/base_tool_lib_node.py @@ -76,6 +76,11 @@ def convert_value(name: str, value, _type, is_required, source, node): value = node.workflow_manage.get_reference_field( value[0], value[1:]) + if isinstance(value, str): + try: + value = json.loads(value) + except: + pass valid_reference_value(_type, value, name) if _type == 'int': return int(value) diff --git a/apps/application/flow/step_node/tool_node/impl/base_tool_node.py b/apps/application/flow/step_node/tool_node/impl/base_tool_node.py index 9f03a7a8f..8a0570fab 100644 --- a/apps/application/flow/step_node/tool_node/impl/base_tool_node.py +++ b/apps/application/flow/step_node/tool_node/impl/base_tool_node.py @@ -53,6 +53,11 @@ def convert_value(name: str, value, _type, is_required, source, node): value = node.workflow_manage.get_reference_field( value[0], value[1:]) + if isinstance(value, str): + try: + value = json.loads(value) + except: + pass valid_reference_value(_type, value, name) if _type == 'int': return int(value)