diff --git a/apps/application/flow/step_node/variable_splitting_node/impl/base_variable_splitting_node.py b/apps/application/flow/step_node/variable_splitting_node/impl/base_variable_splitting_node.py index 447609747e5..c11b79a7b30 100644 --- a/apps/application/flow/step_node/variable_splitting_node/impl/base_variable_splitting_node.py +++ b/apps/application/flow/step_node/variable_splitting_node/impl/base_variable_splitting_node.py @@ -6,6 +6,7 @@ @date:2025/10/13 15:02 @desc: """ +import json from jsonpath_ng import parse from application.flow.i_step_node import NodeResult @@ -40,6 +41,12 @@ def save_context(self, details, workflow_manage): self.context['exception_message'] = details.get('err_message') def execute(self, input_variable, variable_list, **kwargs) -> NodeResult: + if type(input_variable).__name__ == "str": + try: + input_variable = json.loads(input_variable) + except Exception: + pass + self.context['request'] = input_variable response = {v['field']: smart_jsonpath_search(input_variable, v['expression']) for v in variable_list} return NodeResult({'result': response, **response}, {})