Análise de JSON "relaxado" sem avaliação arriscada
JSON, um formato de troca de dados amplamente usado, requer sintaxe estrita com chaves entre aspas. No entanto, certos aplicativos podem encontrar JSON "relaxado" com chaves sem aspas. A análise de tais dados usando eval é desencorajada devido a riscos de segurança.
Evitando Evil Eval
Uma alternativa para eval é uma abordagem baseada em expressão regular que limpa o JSON antes de analisar . Este método verifica a string JSON e substitui quaisquer chaves sem aspas por chaves entre aspas, garantindo a conformidade com a sintaxe JSON padrão sem comprometer a segurança.
Exemplo de implementação
Para implementar esta abordagem, siga estas etapas:
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);
Conclusão
O uso de expressões regulares para higienizar o JSON relaxado permite uma análise perfeita, evitando os possíveis riscos de segurança associados à avaliação.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3