Итак, у меня есть приложение 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, поэтому я могу что-то упустить. Любая помощь будет принята с благодарностью.