O que você está usando no lado do servidor para imprimir os parâmetros? Pode muito bem ser um artefato desse método.
Ambos os métodos de cotação, isto é, "{\"...
e '{"...
estão ok.
Edit: Vou dar um exemplo do efeito que estou insinuando:
% irb -r json
>> h = {"item" => "value with spaces"} # (1)
=> {"item"=>"value with spaces"} # (2)
>> h.to_json
=> "{\"item\":\"value with spaces\"}" # (3)
>> puts(h.to_json)
{"item":"value with spaces"} # (4)
=> nil
(1) define um hashtable que consiste em uma única chave com um valor associado. irb mostra o resultado em (2), que é o hashtable novamente. Agora, quando olho para a representação JSON de h
, irb escapa as aspas internas em (3), enquanto (4) mostra que as barras invertidas não estão "realmente" lá.
Então, dependendo de como você imprime os parâmetros no servidor, você pode acabar com a representação que nos mostrou.