Чтобы это работало в JSON, вам нужно экранировать несколько больше символов, чем это.
myString.replace("\\", "\\\\")
.replace("\"", "\\\"")
.replace("\r", "\\r")
.replace("\n", "\\n")
, и если вы хотите использовать json2.js
для его анализа, вам также необходимоescape
.replace("\u2028", "\\u2028")
.replace("\u2029", "\\u2029")
, который JSON допускает внутри строк в кавычках, а JavaScript - нет.