Итак, у меня есть приложение ruby, записывающее ответ json на консоль, который читается другой программой perl, которая пытается преобразовать ответ json обратно в хэш perl. Вот моя проблема:
ruby приложение выводит правильный вывод json, но консоль добавляет к нему одинарную кавычку, например:
my $ruby_json_out = '"{\"return\":{\"sync_enabled\":false,\"local\":true,\"name\":{\"name\":\"Sam\"}}}"'
my $ret = JSON->new->allow_nonref->decode($ruby_json_out);
Теперь я ожидаю получить hash_ref в $ret, но получаю строку: '{"return":{"sync_enabled":false,"local":true,"name":{"name\":"Sam"}}}'
.
Я искал по всей сети и не могу найти решение этой проблемы. Когда я вручную вырезаю одинарную кавычку: "{\"return\":{\"sync_enabled\":false,\"local\":true,\"name\":{\"name\":\"Sam\"}}}"
и запускаю, все работает.
Я застрял на этом больше суток, и это сводит меня с ума. Я новичок в perl и ruby, поэтому могу что-то упустить. Любая помощь будет оценена по достоинству.