Обработка новых строк в JSON
При работе с данными JSON очень важно правильно обрабатывать новые строки, чтобы избежать непредвиденных ошибок. Вот подробное объяснение проблемы и ее решения.
Проблема
При использовании eval или JSON.parse для анализа данных JSON, содержащих символы новой строки, вы можете столкнуться с такими ошибками, как как «незавершаемый строковый литерал». Это связано с тем, что символы новой строки (\n и \r) не распознаются в строках в двойных кавычках в JSON.
Решение
Чтобы обрабатывать символы новой строки в JSON, вам необходимо чтобы избежать их, используйте двойную обратную косую черту (\\) перед символом новой строки. Например:
{ "count": 1, "stack": "sometext\\n\\n" }
Экранируя символы новой строки, вы сохраняете их в данных JSON и не позволяете анализатору интерпретировать их как часть строки.
Пример
Вот обновленная версия вашего кода с использованием экранированных символов новой строки:
var data = '{ "count": 1, "stack": "sometext\\n\\n" }'; var dataObj = eval('(' data ')');
Теперь этот код успешно анализирует данные JSON, не обнаруживая ошибок, связанных с новой строкой.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3