的json
寶石不允許直接編碼字符串到他們的JSON表示。我試探性地移植這個PHP代碼:編碼一個Ruby字符串JSON字符串
$text = json_encode($string);
這個紅寶石:
text = string.inspect
,它似乎做的工作,但由於某些原因,如果string
本身包含一個文本字符串(它實際上是JS代碼)用換行,這些新行\n
將保持原樣\n
,不被編碼爲\\n
。我可以理解,如果這是#inspect
正確的行爲,但...
怎樣一個編碼字符串值在Ruby中的JSON表示?
如前所述,'json'寶石__does不允許編碼字符串directly__。我會看看Yajl。 –
對於JSON寶石兼容性yajl你可以做'需要「yajl/json_gem'' – mikeycgto
值得一提的是這個答案假定問題海報使用Rails(然而,這並沒有在問題的規定)。 'JSON.encode'由rails提供,就像'object.to_json'一樣。對於rails之外的用法,使用ruby 1.9.3 std-lib中的'JSON.generate'。 – Stewart