diff --git a/src_cpp/py_connection.cpp b/src_cpp/py_connection.cpp index 9a6bc3f..f8a7139 100644 --- a/src_cpp/py_connection.cpp +++ b/src_cpp/py_connection.cpp @@ -787,7 +787,11 @@ Value PyConnection::transformPythonValueFromParameter(const py::handle& val) { auto jsonModule = py::module_::import("json"); try { auto parsed = jsonModule.attr("loads")(val); - return transformPythonValueFromParameter(parsed); + auto parsedType = pyLogicalTypeFromParameter(parsed); + if (parsedType.containsAny()) { + return Value(LogicalType::JSON(), strVal); + } + return transformPythonValueFromParameterAs(parsed, parsedType); } catch (...) {} } }