Я не смог найти хорошего ответа на эту тему, но это, должно быть, обычный вопрос.Многие приложения в настоящее время просто извлекают данные из базы данных и из нее и выводят либо JSON, либо XML напрямую на внешний клиент.Итак, в какой момент процесса лучше всего избегать проблемных символов, таких как "
или <
?
Если вы выведите имя Dwayne "The Rock" Johnson в JSON, вы получите:
{"name":"Dwayne "The Rock" Johnson"} //breaks
.., что нарушит JSON, и ваше приложение упадет, поэтому его необходимо вывести в виде:
{"name":"Dwayne \"The Rock\" Johnson"} //ok
, используя обратную косую черту \
для экранирования кавычек.В Perl мы можем выполнить простую замену регулярных выражений перед выводом данных, что-то вроде:
$name =~ s/"/\\"/g; #replaces " with \"
Мой вопрос заключается в том, что, хотя я уверен, что это плохая практика - постоянно изменять ваши данные, чтобы избежать любых проблемных символов, конечнотакже плохая практика - использовать слишком много ресурсов сервера, делая постоянные замены символов при каждом чтении из базы данных, когда это можно было сделать только один раз?Как вы подходите к этому вопросу?