llpoolerll, естсетвенно, что
$.parseJSON('{"a":"qwe\"qwe"}');
вызывает ошибку.
Потому что
запись в коде '{"a":"qwe\"qwe"}' превращается в
строку {"a":"qwe"qwe"}. Ответ же
от сервера приходит уже в виде
готовой строки {"a":"qwe\"qwe"}(чего можно добиться
написав в коде '{"a":"qwe\\"qwe"}' ). Если в $.parseJSON ты подставишь ответ сервера, а не новосозданную строку - всё будет работать.