fix API tool's schema not support array (#6006)

This commit is contained in:
非法操作 2024-07-05 17:11:59 +08:00 committed by GitHub
parent 00b4cc3cd4
commit bf2268b0af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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