2014-09-09 1 views
0

Я загрузке текст из файла в приложении узла, расслоение плотной, используя что-то похожее на следующее:Двойные кавычки в Java-генерируемой строки выпуска

var retr = fs.readFileSync(__dirname + tmp).toString(); 

Файлы содержит строку, аналогичную: a"a

Я использую эту строку для создания постоянного значения, используя двойные кавычки:

var MY_CT ="a"a"; 

конечно, узел жалуется этот код не действителен.

Как я могу преобразовать двойные кавычки в init MY_CT правильно? Я не могу изменить исходный файл. Исходный файл не является HTML, это обычный текст.

+0

'var MY_CT = 'a' a ';' Чтобы избежать кавычек, используйте двойную кавычку с одинарными кавычками и наоборот – Praveen

+1

«Я использую эту строку для генерации постоянного значения с использованием двойных кавычек» - объясните, потому что это действительно единственная интересная часть. – user2864740

+0

MY_CT находится в файле Javascript, который может быть загружен со стороны пользователя. Он генерируется один раз. – JVerstry

ответ

4

Я понял, что у вас есть переменная (назовем ее x), которая содержит случайную строку, считанную из файла, которая может содержать одинарные кавычки или двойные кавычки, и вы хотите сгенерировать файл, содержащий эту строку между кавычками поэтому его можно интерпретировать в JavaScript.

Решение будет:

JSON.stringify(x) 

Это вернет в вашем случае: "a\"a", который действителен. Это также будет работать, когда ваш файл содержит одинарные кавычки.

+0

Существует [очень небольшой крайный кейс] (http://timelessrepo.com/json-isnt-a-javascript-subset), но это определенно тот подход, который я изначально использовал бы из удобства и вездесущности. – user2864740

+0

Да, это работает !!! Благодаря!!! – JVerstry