Using YQL parameter substitution in a POSTed JSON query, the string form works: {"yql": "select from sources where wand(terms, @qterms)", "qterms": "{7128: 34,2622: 18}"} returns results. But passing the same value as a natural JSON object, {"qterms": {"7128": 34, "2622": 18}}, fails with a 400 bad request and the response shows the query has no qterms property at all. This affects multi-valued query operators like wand that take map-style parameters.