Кодировать строку Ruby в строку JSON

Гем json не позволяет напрямую кодировать строки в их JSON-представление. Я предварительно портировал этот PHP-код:

$text = json_encode($string);

на этот Ruby:

text = string.inspect

, и, похоже, он выполнил свою работу, но по какой-то причине, если сама строка содержит буквальную строку (это фактически JS-код) с символами новой строки эти символы новой строки \ n останутся как есть \ n , а не будут закодированы в \\ n . Я могу понять, правильно ли это ведет себя #inspect , но ...

Как можно кодировать строковое значение в его JSON-представление в Ruby?

21
задан Félix Saparelli 21 July 2011 в 23:17
поделиться