Разбор «расслабленного» JSON без рискованной оценки
JSON, широко используемый формат обмена данными, требует строгого синтаксиса с ключами в кавычках. Однако некоторые приложения могут столкнуться с «расслабленным» JSON с ключами без кавычек. Анализ таких данных с помощью eval не рекомендуется из-за рисков безопасности.
Избежание злого Eval
Одной альтернативой eval является подход на основе регулярных выражений, который очищает JSON перед анализом. . Этот метод сканирует строку JSON и заменяет все ключи без кавычек на кавычки, обеспечивая соответствие стандартному синтаксису JSON без ущерба для безопасности.
Пример реализации
Чтобы реализовать этот подход, выполните следующие действия:
var badJson = "{muh: 2}";
// Sanitize the JSON using regular expression replace
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_] )(['"])?:/g, '"$2": ');
// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);
Заключение
Использование регулярных выражений для очистки расслабленного JSON позволяет обеспечить плавный анализ, избегая при этом потенциальных рисков безопасности, связанных с eval.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3