Гем json
не позволяет напрямую кодировать строки в их JSON-представление. Я предварительно портировал этот PHP-код:
$text = json_encode($string);
на этот Ruby:
text = string.inspect
, и, похоже, он выполнил свою работу, но по какой-то причине, если сама строка
содержит буквальную строку (это фактически JS-код) с символами новой строки эти символы новой строки \ n
останутся как есть \ n
, а не будут закодированы в \\ n
. Я могу понять, правильно ли это ведет себя #inspect
, но ...
Как можно кодировать строковое значение в его JSON-представление в Ruby?