diff --git a/api/core/tools/tool/api_tool.py b/api/core/tools/tool/api_tool.py index 0448a5df0c..c8b683f9ef 100644 --- a/api/core/tools/tool/api_tool.py +++ b/api/core/tools/tool/api_tool.py @@ -249,9 +249,12 @@ class ApiTool(Tool): elif property['type'] == 'null': if value is None: return None - elif property['type'] == 'object': + elif property['type'] == 'object' or property['type'] == 'array': if isinstance(value, str): try: + # an array str like '[1,2]' also can convert to list [1,2] through json.loads + # json not support single quote, but we can support it + value = value.replace("'", '"') return json.loads(value) except ValueError: return value