@@ -61,7 +61,7 @@ def escape_param(item, context, for_server=False):
61
61
return "[%s]" % ', ' .join (str (escape_param (x , context , for_server = for_server )) for x in item )
62
62
63
63
elif isinstance (item , tuple ):
64
- return "(%s)" % ', ' .join (str (escape_param (x , context , for_server = for_server )) for x in item )
64
+ return "tuple (%s)" % ', ' .join (str (escape_param (x , context , for_server = for_server )) for x in item )
65
65
66
66
elif isinstance (item , Enum ):
67
67
return escape_param (item .value , context , for_server = for_server )
@@ -72,6 +72,15 @@ def escape_param(item, context, for_server=False):
72
72
elif isinstance (item , types .Binary ):
73
73
return escape_binary (item , context )
74
74
75
+ elif isinstance (item , types .JSON ):
76
+ value = item .value
77
+ if isinstance (value , list ):
78
+ return escape_param ([types .JSON (v ) for v in value ], context , for_server = for_server )
79
+ elif isinstance (value , dict ):
80
+ return escape_param (tuple (types .JSON (v ) for v in value .values ()), context , for_server = for_server )
81
+ else :
82
+ return escape_param (value , context , for_server = for_server )
83
+
75
84
else :
76
85
return item
77
86
0 commit comments