diff --git a/lib/prepare-params.js b/lib/prepare-params.js
index <HASH>..<HASH> 100644
--- a/lib/prepare-params.js
+++ b/lib/prepare-params.js
@@ -32,7 +32,15 @@ module.exports = function(event, context) {
             break;
           case 'query':
             // TODO cast qstring params
-            params[param.name] = event.request.querystring[param.name];
+            if (param.type === 'object') {
+              try {
+                params[param.name] = JSON.parse(event.request.querystring[param.name]);
+              } catch { 
+                params[param.name] = 'error' // let the validator err
+              }
+            } else {
+              params[param.name] = event.request.querystring[param.name];
+            }
             break;
           case 'path':
             params[param.name] = event.request.path[param.name];
support json "object" type in query