From 7ec7984b9f0faa0daf72a550aca1448753984ee5 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Fri, 11 Jul 2025 17:43:33 +0800 Subject: [PATCH] fix: handle JSON parsing for string values in reference fields --- .../flow/step_node/tool_lib_node/impl/base_tool_lib_node.py | 5 +++++ .../flow/step_node/tool_node/impl/base_tool_node.py | 5 +++++ 2 files changed, 10 insertions(+) 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)